我如何使用MongoClient的asynchronous等待
当我运行这个(使用节点v7.5.0与 – 和谐):
var MongoClient = require('mongodb').MongoClient, var url = "mongodb://localhost:27017/myDB"; var test = await MongoClient.connect(url); module.exports = test;
我得到这个错误:
var test = await MongoClient.connect(url); ^^^^^^^^^^^ SyntaxError: Unexpected identifier
MongoClient.connect(url)确实返回一个promise
我最终想要实现的是创build一个连接到mondoDB的节点模块,并且可以使用,如下例所示:
var db = require('../utils/db'); //<-- this is what I want to create above col = db.collection('myCollection'); module.exports.create = async fuction(data) { return await col.insertOne(data); }
有什么build议么?
你的模块封装是否也是asynchronous函数? 您需要将await
关键字设置为asynchronousfunction。
把它包装在一个asynchronous函数呢?
var MongoClient = require('mongodb').MongoClient, var url = "mongodb://localhost:27017/myDB"; var test = async function () { return await MongoClient.connect(url); } module.exports = test;