web-dev-qa-db-ja.com

MeteorコレクションドキュメントID:Random.id()またはMeteor.Collection.ObjectID()

Meteorコレクションにドキュメントを挿入すると、ドキュメントには_idの形式のRandom.idがあります。

Random.id();
// "wjQyQ6sGjzvNMDLiJ"

それらの同じコレクションにドキュメントを挿入するとMongoDBから直接、ドキュメントには_idの形式のMeteor.Collection.ObjectIDがあります。

new Meteor.Collection.ObjectID();
// LocalCollection._ObjectID {_str: "b105582bc495617542af18e9"…}

アプリがRandom.idを使用するのはなぜですか?これはレガシー設定ですか?

アプリを作成したときのMeteorバージョン:

[email protected]
[email protected]
15
chris

アプリケーションからプログラムでMeteorコレクションを作成する場合、そのコレクション内のドキュメントの新しいIDを生成するために使用するID生成方法のタイプを決定するオプションを指定できます。デフォルトでは、オプションが指定されていない場合、ランダムな文字列生成関数が使用されます。 Meteorのドキュメント をチェックして、私が話していることを正確に確認してください。オプションを指定しない場合、MeteorはこれらのID文字列を生成するために random パッケージを使用するだけです。リンクを確認すると、リストの最初の項目がランダムID生成関数であることがわかります。ここで、Random.id()関数が呼び出されます。明らかに、MongoDBに直接アクセスすると、この考えられるロジックフローがバイパスされ、MongoDBタイプのID文字列が生成されます。

16
n4tiv3pwnst4r