昨日流星を更新し、新しいを使ってみました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
正しい使い方は?