Javascript Collection.find().toArray返回一个空数组Node.js MongoDB

Javascript Collection.find().toArray返回一个空数组Node.js MongoDB,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,目前,我有一个数据库,存储两个集合,一个用于产品,另一个用于电子商务网站的订单。启动MongoDB后,我在mongoshell中加载了数据。下面的代码用于通过Collection.find()方法访问数据库 在mongoshell中,我可以通过命令db.products.find()和db.orders.find()访问它们。但是,上面的函数返回一个空数组。我已将订单替换为产品,我当时能够获得数据。我似乎到处都找不到解决办法。提前谢谢 再次检查节点应用程序连接字符串中的数据库名称。在promis

目前,我有一个数据库,存储两个集合,一个用于产品,另一个用于电子商务网站的订单。启动MongoDB后,我在
mongo
shell中加载了数据。下面的代码用于通过Collection.find()方法访问数据库


mongo
shell中,我可以通过命令
db.products.find()
db.orders.find()
访问它们。但是,上面的函数返回一个空数组。我已将
订单
替换为
产品
,我当时能够获得数据。我似乎到处都找不到解决办法。提前谢谢

再次检查节点应用程序连接字符串中的数据库名称。在promise函数中,如果(订单),则检查的是其
订单
,而不是
订单
,addOrder函数具有参数(db,order),在promise函数中,检查的是
订单
,并尝试使用
异步等待
模式。将
async放在函数名的开头,并在每次与数据库查询相关的耗时操作之前等待关键字。在您的情况下,它将
wait.toArray()。async Wait在内部返回promise,以便在应用程序中找到更好的代码结构
var addOrder = function(db, order){
    var orders = db.collection('orders');
    var products = db.collection('products');

    return new Promise(function(resolve, reject) {
        if (orders) {
            console.log('orders');
            orders.find().toArray(function(err, docs) {
                console.log(docs);
            });         
        }

    })
}