根据文档,根据此处的示例,通过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()
?
答案 0 :(得分:3)
如果要返回单个对象,可以使用find().limit(1).toArray().then(arrs =>{return arrs[0] || null });
;
collection.find()
查询所有匹配文档返回一个数组对象;