sql >> Databasteknik >  >> NoSQL >> MongoDB

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

Meteor använder samma metod för objekt-id:n om du väljer att använda det:

Meteor.Collection.ObjectID() är samma som MongoDB:s ObjectID

Den ligger precis under Meteor.Collection namn. Den använder EJSON för att hålla objekt-id:n i vanlig JSON till klientänden. För i princip finns det 2 databaser med meteor

Minimongo

Det här är en sorts cache av mongodb på klientsidan. Data laddas ner från huvudmongodb på servern till denna när webbläsaren laddas upp. När ändringar görs skjuts de upp till servern.

Server MongoDB

Detta är den ursprungliga mongodb från 10gen på servern

Så på grund av dessa två databaser behöver Meteor slå in mongodb-funktionalitet i Meteor.Collection och låter dig använda samma kod på både klienten och servern.

Som standard kommer inte meteor att använda objekt-ID, den kommer att använda en sorts slumpmässig alfanumerisk text. Detta görs så att du enkelt kan använda ID:n i dina webbadresser och ID:n i dina HTML-attribut.

Om du använder new Meteor.Collection.ObjectID() du får ett ObjectID objekt som kommer att använda mongodbs specifikation av ObjectID på serveränden. Tidsstämpelvärdet i objekt-ID:t hålls inte uppe, men detta borde egentligen inte göra någon skada.



  1. Använder nginx för att visa innehåll direkt från en redis-cache

  2. Mongodb node.js $out med aggregering fungerar bara om man anropar toArray()

  3. MongoDB BSON-guide

  4. Använder du aggregat för att kombinera en lista över alla underdokument som matchar frågan?