昨日流星を更新し、新しいを使ってみましたMeteor.Collection.ObjectID。しかし、成功しなかったので。まず、コレクションを次のように更新しました。
myCollection = new Meteor.Collection('mycollection', {idGeneration: 'MONGO'}
さて、通常の新しいインサートには次の_idようなものがありWi2RmR6CSapkmmdfnます...(?)
次に、配列が含まれているコレクションがあります。この配列内のすべてのオブジェクトに一意のIDを設定するのが好きです。だから私は私の配列$pushのようなフィールドを持つオブジェクトです。id: new Meteor.Collection.ObjectID()データベースの結果は次のようになりますObjectId("5b5fc278305d406cc6c33756")。(これは正常なようです。)
しかし、後で、プッシュされたオブジェクトを更新したいと思います。idこれは、以前にhtmlタグにデータ属性として保存したidと等しい場合です。
var equals = EJSON.equals(dbId, htmlId);(これは毎回結果になりfalseます。したがって、値dbIdをログインhtmlIdしてコンソールにログインしましたconsole.log(typeof dbId, dbId);)
この2つの変数の値は次のとおりです。
object { _str: 'a86ce44f9a46b99bca1be7a9' }(dbId)
string ObjectID("a86ce44f9a46b99bca1be7a9")(htmlId;これは正しいようですが、カスタムタイプが文字列であるのはなぜですか?)
Meteor.Collection.ObjectID正しい使い方は?