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を確認してください。