gpt4 book ai didi

javascript - 如何让node.js和mongoDB中的for循环同步运行

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

这是我第一次使用 Node.js,我遇到了一些问题。

我从 API 获取一些数据,并将它们存储在一个数组中。

然后,我正在执行一些 MongoDB 查询,以了解我在该数组上拥有的数据是否在数据库中。

我想为每次出现的数组使用一个 for 循环,但是当我尝试调用 MongoDB 时,for 循环继续立即增加计数器,而不等待查询和相关响应的结束,我只获取数据最后一次出现(重复)。

我的代码有一部分,因此我总是在最后一次出现时得到控制台相对的“结果”(例如,如果我期望像“1、2、3、4、5”这样的东西,我有'5 5 5 5 5')

我怎样才能确保 for 循环以正确的方式工作?

感谢您的帮助。

for ( counter = 0; counter < array.lenght; counter ++) {

MongoClient.connect(url, function (err, db) {

var query = { name: array[counter] };

db.collection("collectionName").find(query).toArray(function (err, result) {

// Check if 'query' value exist in the database, if yes do some stuff, otherwise do others stuff
console.log(result);


}
)

编辑:为了让大家知道,代码终于可以运行了。谢谢你的帮助。

最佳答案

尝试运行下面的代码。让我知道它是否有效。

let fun = async function () {
for (var counter = 0; counter < array.length; counter++) {
await MongoClient.connect(url, function (err, db) {
var query = { name: array[counter] };
db.collection("collectionName").find(query).toArray(function (err, result) {
// Check if 'query' value exist in the database, if yes do some stuff, otherwise do others stuff
console.log(result);
})
})
}
}

fun();

关于javascript - 如何让node.js和mongoDB中的for循环同步运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47523285/

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