gpt4 book ai didi

node.js - 从集合中获取并迭代

转载 作者:可可西里 更新时间:2023-11-01 10:18:56 25 4
gpt4 key购买 nike

我想在 api 中使用循环返回数据。但是你知道 foreach 循环是异步的,我的 allData json 对象每次都是空的。我希望 json 对象不为空。这就是为什么......我想在下面做同步循环

var allData = [];
router.get('/user', function (req, res, next) {

var cursor = mdb.collection('USERS').find();
cursor.forEach(function (doc) {
allData.push(doc);
console.log(doc);
})
console.log(allDaTa);
});

打印:

[ ] //<-- my json object is null (allData) 
<br><br>
{
_id: 5830ce676b184b1210d66749,
USERNAME: 'burakgumus'
}

我再说一遍<br><br>我希望 json 对象不为空,我不想 cursor.toArray().<br>

最佳答案

您需要将回调函数传递给您的查询。因为它是一个异步调用,将在您完成其余代码后返回结果:

var allData = [];
router.get('/user', function (req, res, next) {

mdb.collection('USERS').find({}).toArray(function(err, cursor) {
cursor.forEach(function (doc) {
allData.push(doc);
console.log(doc);
});
console.log(allDaTa);
next();
});

});

关于node.js - 从集合中获取并迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41171991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com