MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

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

Meteor usa lo stesso metodo per gli ID oggetto se scegli di usarlo:

Meteor.Collection.ObjectID() è lo stesso di ObjectID di MongoDB

È appena sotto la Meteor.Collection nome. Utilizza EJSON per mantenere gli ID oggetto in JSON ordinario all'estremità del client. Perché fondamentalmente ci sono 2 database con meteor

Minimongo

Questa è una sorta di cache di mongodb sul lato client. I dati vengono scaricati dal mongodb principale sul server a questo quando il browser si carica. Quando vengono apportate modifiche, vengono inviate al server.

Server MongoDB

Questo è il mongodb originale di 10gen sul server

Quindi, a causa di questi due database, Meteor ha bisogno di racchiudere la funzionalità mongodb in Meteor.Collection e ti consente di utilizzare lo stesso codice sia sul client che sul server.

Per impostazione predefinita, meteor non utilizzerà gli ID oggetto, utilizzerà una sorta di testo alfanumerico casuale. Questo viene fatto in modo da poter utilizzare facilmente gli ID nei tuoi URL e gli ID nei tuoi attributi html.

Se usi new Meteor.Collection.ObjectID() otterrai un ObjectID oggetto che utilizzerà la specifica di mongodb di ObjectID sul lato server. Il valore del timestamp nell'ID oggetto non viene trattenuto, ma ciò non dovrebbe causare alcun danno.