【发布时间】:2015-02-20 22:46:59
【问题描述】:
目标:
通过 _id 从 mongodb 中查找一个文档。
环境:
JavaScript、Node.js、Mongoose
所以我有这个代码...(这里是“发布”模式的一部分)
PostSchema.statics = {
findById: function (id, cb) {
this.findOne({ _id : { $eq: mongoose.Types.ObjectId(id) } }).exec(cb);
}
}
然后这个其他代码调用这个方法:
var Post = mongoose.model('Post');
Post.findById('54986a8b43db661a0ec827e4', function(result){
console.log(result);
});
我收到错误:不能将 $eq 与 ObjectId 一起使用
我直接在 mongodb 引擎中尝试了查询 db.posts.find({_id: {$eq: ObjectId('54986a8b43db661a0ec827e4')}}); 并且它有效,但在猫鼬中无效。 ..
所以我不知道如何仅通过 id 进行查询!
【问题讨论】:
标签: javascript node.js mongodb mongoose objectid