0

为什么这个查询在 Mongoskin 中不起作用?(其中 itemID 是 Mongo ObjectID

{"_id": itemID}

我知道确实存在一个匹配的元素,_id因为如果我通过 MongoDB shell 运行相同的查询,它就可以工作。为什么它不适用于 Mongoskin?

4

2 回答 2

2
var ObjectId = require('mongodb').ObjectID;
Notice: the name of the factory function is ObjectID, instead of ObjectId
Then you can use:
db.collection('XXX').update({_id: ObjectId(XXX)}, {$set: {XXX : XXX}});
Well, db is a wrapped function of mongoskin:
module.exports = (function() {

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

})();
于 2015-07-30T09:37:44.120 回答
0

事实证明,mongoskin 使用了不同于普通 mongoDB 的类型ObjectID。我正在使用另一个库将我的字符串转换为ObjectID,因此造成了混乱。以下是我获得正确ObjectID对象的方法:

require('mongoskin').ObjectID.createFromHexString(hexString);
于 2014-09-29T20:49:41.643 回答