2014-09-29 79 views
0

爲什麼此查詢在Mongoskin中不起作用? (其中ITEMID是蒙戈ObjectID對象ID與蒙戈金

{"_id": itemID} 

我知道這是真正存在具有匹配_id因爲如果我運行通過MongoDB的這個相同的查詢殼它的作品的元素。爲什麼它不適用於Mongoskin?

回答

0

事實證明,mongoskin使用不同於vanilla mongoDB的ObjectID類型。我正在使用另一個庫將我的字符串轉換爲ObjectID,因此造成混亂。這裏是爲我工作,以獲得正確的ObjectID對象:

require('mongoskin').ObjectID.createFromHexString(hexString); 
2
var ObjectId = require('mongodb').ObjectID; 
注意:工廠函數的名稱是 對象ID,代替的ObjectId
然後你可以使用:
db.collection('XXX').update({_id: ObjectId(XXX)}, {$set: {XXX : XXX}}); 
嗯, db是mongoskin的包裝功能:
module.exports = (function() { 

    return require('mongoskin').db('mongodb://localhost:27017/db_name'); 

})(); 
+0

現在我建議使用貓鼬來代替。 – 2015-10-29 05:21:54