MongoDB findOne vs使用单个项目使用$ in查找

时间:2016-11-09 07:45:20

标签: mongodb performance find

我在NodeJS服务上使用MongoClient。
作为提高我的服务性能的一部分,我想确定在查询Mongo的条件下处理单个id与多个id时是否应采取不同的行为。

我当前的代码如下所示:
collection.find({ id: {$in: ids } })

我想知道我是否会拆分代码来单独处理单个id会使性能更好,有点像这样:
if ids.count == 1 collection.findOne({ id: ids.first }) else collection.find({ id: {$in: ids } }) end

1 个答案:

答案 0 :(得分:0)

根据MongJDB Driver for NodeJS,不推荐使用findOne,而选择find()。

已弃用,请使用find()。limit(1).next(function(err,doc){})而不是

http://mongodb.github.io/node-mongodb-native/2.0/api/Collection.html#findOne

更重要的是,findOne()find().limit(1).toArray()

的语法糖

我强烈建议您在生产中使用它之前先查看是否已弃用某些内容at that link