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