【发布时间】:2017-05-17 21:20:28
【问题描述】:
我正在阅读How to use MongoDB with promises in Node.js?,当我在第一个答案中看到他们说如果我没有通过回调,mongo 驱动程序会给我一个承诺。它适用于“连接”,但当我尝试时它不起作用:
db.collection('myCollection').find().then((docs)=>{console.log(docs)})
我明白了:
MongoDB error: TypeError: db.collection(...).find(...).then is not a function
我尝试在http://mongodb.github.io/node-mongodb-native/2.2/api/Collection.html#find 阅读find() 的文档,我可以在那里看到一些类似这样的示例:
collection.find({}).explain().then(function(docs) {
test.ok(docs != null);
db.close();
});
这是对 find 的承诺,但它有 explain() 的东西。它是什么?另外,为什么在这个 API 中没有提到承诺?还有另一行:
collection.insertMany([{a:1}, {a:2}, {a:3}], {w:1}).then(function(result) {
这也是一个承诺。
那么,如何在 find() 中使用 Promise?
另外,为什么这个文档不会告诉任何东西的返回值?我不能使用的论点...
【问题讨论】:
-
检查这个tutorial!
-
该教程适用于不同库的 mongoose。
标签: javascript node.js mongodb promise