我是nodejs和mongodb的新手,我在将数据从mongodb传输到nodejs时遇到了问题。我需要从mongodb的查询中获取所有结果,包括它的关系,并将它们保存到nodejs上的数组中,因为我需要操纵所述结果将它们发送到另一个名为Neo4j的NoSQL-DB。我曾尝试使用array.push(cursor.data),但它无法正常工作。
我知道通过阅读其他问题的答案,它可能是异步函数和javascript的问题。
我做错了什么?如何将mongodb查询的结果保存到全局数组?
我将部分代码留在此处。谢谢你的时间和答案。
var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost:27017/dbname';
var arr = [];
var findValue = function(db, callback) {
var cursor =db.collection('collectionName');
cursor.find().toArray( function(err,items){
//console.log(items); show all values
//arr.push(items); doesn't push value to array
arr=items;
callback();
})
};
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
findValue(db, function() {
console.log(arr);
//If i console.log(arr) have values.
//var auxArray = arr; this doesnt save any value after
离开功能 db.close(); }); //如果console.log(arr)没有值 });
// arrManipulated = function(arr){}
//function sendDataToNeo4j(arrManipulated){}