Mongo本机驱动程序toArray()的限制(1)?

时间:2016-02-04 16:03:11

标签: node.js mongodb

根据文档,根据此处的示例,通过Promise检索一个文档的官方方式为.find().limit(1).toArray()https://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#find

我发现在将Promise返回到数组时强制导致单个结果很烦人。与返回单个文档的以下方法find().limit(1).next(function(err, doc){})不同。 无论如何,还是只是为了适应?

此外,此处{name =}已弃用findOne,并指出应使用以下内容:find().limit(1).next(function(err, doc){})。但是,此处https://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#findOne在示例中指出使用then()

那么,我应该使用next()还是then()

1 个答案:

答案 0 :(得分:3)

如果要返回单个对象,可以使用find().limit(1).toArray().then(arrs =>{return arrs[0] || null });;

collection.find()查询所有匹配文档返回一个数组对象;