我刚刚开始使用MongooseJS,我想知道这些查询中哪一个是执行find-where查询的最好方法。这个查询?
post.Model
.findOne({
_id : id,
creator : creator
})
.remove(function(err, results) {
callback(err, results);
});还是这个查询?
post.Model
.findOne({
creator : creator
})
.where('_id')
.equals(id)
.remove(function(err, results) {
callback(err, results);
});两者都能以我想要的方式工作,但我觉得我做错了什么,而且还有更好的方法。我一直在搜索可能对我有帮助的示例查询,我找到了不同的实现,例如:
post.Model.findOne({ $where : [ ] })蒂娅。我为这个新奇的问题道歉。
发布于 2013-10-01 01:29:55
如果您已经有了文档的_id,那么Model.findById(_id, callback);是表达该查询的最清晰的方式。当使用可能匹配多个文档的条件进行查询时,Model.find(queryConditions, callback);与链接样式主要取决于偏好/样式/观点。我个人的观点是,使用query对象比链接更简单、更直接,我几乎不喜欢链接,但这又是一个风格问题。
在您的所有示例中,由于您有一个惟一的_id,因此没有理由还要查询creator。
https://stackoverflow.com/questions/19093469
复制相似问题