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