首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongoose Find vs Find Where

Mongoose Find vs Find Where
EN

Stack Overflow用户
提问于 2013-09-30 19:49:09
回答 1查看 10.1K关注 0票数 2

我刚刚开始使用MongooseJS,我想知道这些查询中哪一个是执行find-where查询的最好方法。这个查询?

代码语言:javascript
复制
post.Model
            .findOne({
                _id     : id,
                creator : creator
            })
            .remove(function(err, results) {
                callback(err, results);
            });

还是这个查询?

代码语言:javascript
复制
post.Model
                .findOne({
                    creator : creator
                })
                .where('_id')
                .equals(id)
                .remove(function(err, results) {
                    callback(err, results);
                });

两者都能以我想要的方式工作,但我觉得我做错了什么,而且还有更好的方法。我一直在搜索可能对我有帮助的示例查询,我找到了不同的实现,例如:

代码语言:javascript
复制
post.Model.findOne({ $where : [ ] })

蒂娅。我为这个新奇的问题道歉。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-01 01:29:55

如果您已经有了文档的_id,那么Model.findById(_id, callback);是表达该查询的最清晰的方式。当使用可能匹配多个文档的条件进行查询时,Model.find(queryConditions, callback);与链接样式主要取决于偏好/样式/观点。我个人的观点是,使用query对象比链接更简单、更直接,我几乎不喜欢链接,但这又是一个风格问题。

在您的所有示例中,由于您有一个惟一的_id,因此没有理由还要查询creator

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19093469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档