MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Meteor.Collection.ObjectID() contre MongoDB ObjectId()

Meteor utilise la même méthode pour les identifiants d'objet si vous choisissez de l'utiliser :

Meteor.Collection.ObjectID() est le même que ObjectID de MongoDB

C'est juste sous Meteor.Collection Nom. Il utilise EJSON pour conserver les identifiants d'objet dans JSON ordinaire pour le client. Parce qu'en gros il y a 2 bases de données avec meteor

Minimongo

Il s'agit d'une sorte de cache de mongodb côté client. Les données sont téléchargées depuis le mongodb principal sur le serveur vers celui-ci lorsque le navigateur se charge. Lorsque des modifications sont apportées, elles sont transmises au serveur.

Serveur MongoDB

Ceci est le mongodb original de 10gen sur le serveur

Donc, à cause de ces deux bases de données, Meteor doit encapsuler la fonctionnalité mongodb dans Meteor.Collection et vous permettent d'utiliser le même code sur le client et le serveur.

Par défaut, le météore n'utilisera pas les ID d'objet, il utilisera une sorte de texte alphanumérique aléatoire. Ceci est fait pour que vous puissiez facilement utiliser les identifiants dans vos URL et les identifiants dans vos attributs html.

Si vous utilisez new Meteor.Collection.ObjectID() vous obtiendrez un ObjectID objet qui utilisera la spécification d'ObjectID de mongodb côté serveur. La valeur d'horodatage dans l'ID d'objet n'est pas bloquée, mais cela ne devrait pas vraiment faire de mal.