我无法从调用MongoDB中检索数据。 调用工作,因为我可以显示结果到控制台,但是当我尝试将这些结果写入/复制到外部数组,以便它们可用于我的程序,在调用之外时,我什么都没有。 我见过的每一个例子都是在连接循环中工作的。我找不到任何将结果复制到数组(全局或传入)的示例,连接结束,程序继续处理外部数组。从MongoDB调用中获取数据
这里的大部分示例代码要么过于简单(即连接循环中的console.log),要么太复杂,以及如何制作快速api路由的示例。我不需要这个,因为我正在做老式的串行批处理。 我知道Mongo的构建是异步的,但我仍然可以使用它。
MongoClient.connect('mongodb://localhost:27017/Lessons', function (err, db) {
assert.equal(err, null);
console.log("Connectied to the 'Lessons' database");
var collection = db.collection('students');
collection.find().limit(10).toArray(function(err, docs) {
// console.log(docs);
array = docs.slice(0); //Cloning array
console.log(array);
db.close();
});
});
console.log('database is closed');
console.log(array);
它看起来像我试图在循环完成之前记录数据。但如何同步时间? 如果有人能向我解释这一点,我会非常感激,因为我一直盯着这个东西好几天,真的很蠢。
您的选择是正确的。您的不情愿与选项1一起完全正确。 – JohnnyHK