通过猫鼬和节点_id进行简单查询.js不起作用
Simple query by _id with mongoose and node.js not working
目标:
通过_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与对象 ID 一起使用
我尝试了查询 db.posts.find({_id: {$eq: ObjectId('54986a8b43db661a0ec827e4'(}}(; 直接在 mongodb 引擎中,它可以工作,但在猫鼬中不起作用......
所以我不知道仅通过 id 进行查询该怎么办!
它不起作用,因为$eq
是一个聚合运算符。 只需使用直接比较即可:
PostSchema.statics = {
findById: function (id, cb) {
this.findOne({ _id : id }).exec(cb);
}
}
你不需要用id
制作一个ObjectId,因为猫鼬会为你做这个转换。
但是您甚至不需要自己创建此方法,因为内置的 findById
方法执行相同的操作。
相关文章:
- 是否有一个javascript库来解析简单的查询
- *简单*解析云代码查询失败”;TypeError:无法调用方法'获取'未定义的“检索该信息”;
- 简单的jQuery将单词的颜色一次查询为蓝色
- 如何在 Meteor 中进行简单的数据库查询
- 适合初学者的简单 Javascript 循环查询
- 通过猫鼬和节点_id进行简单查询.js不起作用
- 为任何更新查询增加 Mongoose 文档版本的简单方法
- 创建简单的 J 查询待办事项列表
- 一对多关系的简单解析查询
- 使用AJAX点击执行简单的mysqli查询
- 简单的db-mongo查询出错
- 使用来自onchange所选值的jquery/javascript进行简单查询
- 一直在为mongodb查询创建简单的javascript对象
- 一个简单的jQuery/AJAX查询
- 超级简单的HTML5歌曲查询
- 简单的Backbone.js路由器?(页面层次结构+查询字符串)
- 简单切换图像查询
- 简单的dojo.在IE中查询xml文档失败
- 在简单查询中将循环结构转换为json错误
- JavaScript -简单查询