Javascript Collection.find().toArray返回一个空数组Node.js MongoDB
目前,我有一个数据库,存储两个集合,一个用于产品,另一个用于电子商务网站的订单。启动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
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);
});
}
})
}