Meteor gebruikt dezelfde methode voor object-ID's als u ervoor kiest om het te gebruiken:
Meteor.Collection.ObjectID()
is hetzelfde als MongoDB's ObjectID
Het is net onder de Meteor.Collection
naam. Het gebruikt EJSON om object-ID's in gewone JSON vast te houden aan de clientzijde. Omdat er in principe 2 databases zijn met meteor
Minimongo
Dit is een soort cache van mongodb aan de clientzijde. De gegevens worden gedownload van de hoofdmongodb op de server naar deze wanneer de browser wordt geladen. Wanneer er wijzigingen worden aangebracht, worden ze naar de server gepusht.
Server MongoDB
Dit is de originele mongodb van 10gen op de server
Dus vanwege deze twee databases moet Meteor mongodb-functionaliteit in Meteor.Collection
inpakken en laat u dezelfde code gebruiken op zowel de client als de server.
Standaard gebruikt meteor geen object-ID's, maar een soort willekeurige alfanumerieke tekst. Dit wordt gedaan zodat u gemakkelijk ID's in uw URL's en ID's in uw html-attributen kunt gebruiken.
Als u new Meteor.Collection.ObjectID()
. gebruikt je krijgt een ObjectID
object dat Mongodb's specificatie van ObjectID aan de serverzijde zal gebruiken. De tijdstempelwaarde in de Object-ID wordt niet opgehouden, maar dit zou geen kwaad kunnen.