Node.js 猫鼬发现vs发现在哪里

Node.js 猫鼬发现vs发现在哪里,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我刚开始使用MongooseJS,我想知道在这些查询中,哪一种是执行查找位置查询的最佳方法。这个问题 post.Model .findOne({ _id : id, creator : creator }) .remove(function(err, results) { callback(err, results);

我刚开始使用MongooseJS,我想知道在这些查询中,哪一种是执行查找位置查询的最佳方法。这个问题

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({
                _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 : [ ] })

蒂亚。我为这个新问题道歉。

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


在所有示例中,由于您有一个唯一的_id,因此没有理由同时查询
创建者
如果您已经有文档的_id,那么
Model.findById(_id,callback)
是表示该查询的最清晰的方式。使用可能匹配多个文档的条件进行查询时,
Model.find(queryConditions,callback)与链接样式主要取决于偏好/样式/意见。我个人的观点是,使用查询对象比链接更简单、更直接,我几乎从不喜欢链接,但这也是一种风格

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

…为什么不查询
.findOne().where('creator').equals(creator).where('u id').equals(id)
?令人困惑的话题…为什么不
.findOne().where('creator').equals(creator).where('u id').equals(id)
?令人困惑的话题