我昨天更新了我的流星并尝试使用新的Meteor.Collection.ObjectID
. 但自从没有成功。首先,我以这种方式更新了我的收藏:
myCollection = new Meteor.Collection('mycollection', {idGeneration: 'MONGO'}
现在,普通的新插入有一个_id
喜欢Wi2RmR6CSapkmmdfn
...(?)
然后我有一个包含数组的集合。我喜欢这个数组中的每个对象都有一个唯一的 id。所以我$push
有一个像id: new Meteor.Collection.ObjectID()
我的数组一样的字段的对象。数据库中的结果是这样的:ObjectId("5b5fc278305d406cc6c33756")
. (这似乎很正常。)
但是稍后我想更新我的推送对象,如果id
等于一个 id,我之前将其作为数据属性存储在 html 标记中。
var equals = EJSON.equals(dbId, htmlId);
(这每次都会导致false
。所以我将值记录dbId
到htmlId
控制台中console.log(typeof dbId, dbId);
)
这两个变量的值如下:
object { _str: 'a86ce44f9a46b99bca1be7a9' }
(dbId)
string ObjectID("a86ce44f9a46b99bca1be7a9")
(htmlId;这似乎是正确的,但为什么自定义类型是字符串?)
如何Meteor.Collection.ObjectID
正确使用?