2014-09-29 74 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