从MongoDB获取数据

时间:2017-04-20 10:54:05

标签: angularjs json mongodb express

我试图将MongoDB中的数据加载到我的express中,最终在我的html中显示使用angular。现在我已经开始使用它来获取数据,但这仅适用于数据库中的一条记录。如果我创建多个记录,它会在控制台中出现以下错误:

"发送标题后不能发送标题"

这是我的" get"请求快递:

router.get('/getdata', function(req, res, next){
var findDocuments = function(db, callback) {
var cursor = db.collection('userdata').find({});
cursor.each(function(err, doc) {
  assert.equal(err, null);
  if (doc != null) {
     res.status(200).json(doc);
  } else {
     callback();
  }
});
};
  mongo.connect(url, function(err, db) {
   assert.equal(null, err);
  findDocuments(db, function() {
    db.close();
  });
});
  console.log('Items have been returned');
});

1 个答案:

答案 0 :(得分:0)

router.get('/getdata', function(req, res, next){

  var findDocuments = function(db, callback) {

    //use such codtion that filter null/empty doc
    //replace key with field of your doc
    var cursor = db.collection('userdata').find({'key' : {$exists : true}});

    //return all docs
     if(cursor){
    return callback(cursor);
    }else{
    return callback([]);
       }

  };

  mongo.connect(url, function(err, db) {
   assert.equal(null, err);
   findDocuments(db, function(docs) {
    db.close();

    //send finaly doc here 
    console.log(docs);
    res.status(200).send(docs);

  });
 });

  console.log('Items have been returned');
});