我昨天更新了我的流星,並嘗試使用新的Meteor.Collection.ObjectID
。 但自從沒有成功。首先,我更新了我的藏品以這樣的方式流星0.5.7:如何處理/使用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
正確?
**謝謝你的快速解答! :)** Btw:'{{_id.toHexString}}'不直接工作,但我註冊了一個全局的handlebars helper,它可以完成這項工作。 – 2013-02-23 17:57:16
它應該沒有幫助者的工作,我發佈之前測試它是否有其他預先流星0.57對象id? – Akshat 2013-02-23 17:59:01
嗯......我刪除了我的集合,但是我的handlebars調試幫助器,它在控制檯中打印給定的值,當我用'{{debug _id.toHexString}}'調用他時不打印任何內容。我查看了minimongo的源代碼,並且{{_id._str}}直接工作('ObjectID.toHexString()'返回'_str') – 2013-02-23 22:22:15