从mongodb过程获取值到nodejs上的全局数组

时间:2016-03-08 03:35:28

标签: arrays node.js mongodb

我是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){}

0 个答案:

没有答案