Meteor.js が ID に独自のアルゴリズムを使用するのはなぜですか?
MongoDB の ObjectId() を使用しないのはなぜですか?
Meteorは、オブジェクトIDを使用することを選択した場合、同じメソッドをオブジェクトIDに使用します。
Meteor.Collection.ObjectID()MongoDBと同じですObjectID
そのMeteor.Collection名前のすぐ下。EJSONを使用して、オブジェクトIDを通常のJSONでクライアント側に保持します。基本的に流星のデータベースが2つあるので
ミニモンゴ
これは、クライアント側のmongodbの一種のキャッシュです。ブラウザがロードされると、サーバー上のメインのmongodbからこのmongodbにデータがダウンロードされます。変更が加えられると、それらはサーバーにプッシュされます。
サーバーMongoDB
これはサーバー上の10genからの元のmongodbです
したがって、これら2つのデータベースのために、Meteorはmongodb機能をラップMeteor.Collectionして、クライアントとサーバーの両方で同じコードを使用できるようにする必要があります。
デフォルトでは、meteorはオブジェクトIDを使用せず、ランダムな英数字のテキストを使用します。これは、URLでIDを、html属性でIDを簡単に使用できるようにするために行われます。
使用する場合は、サーバー側でmongodbのObjectIDの指定を使用new Meteor.Collection.ObjectID()するオブジェクトを取得します。ObjectIDオブジェクトIDのタイムスタンプ値は保持されませんが、これが実際に害を及ぼすことはありません。
0.9.1 以降、 Meteor はMongo.ObjectIDの代わりに使用することを提案していますMeteor.Collection.ObjectID。基本的にどちらも同じです。命名規則のその他の変更については、history.mdを確認してください。