MongoDB没有使用Node.js生成输出

时间:2013-11-17 09:38:23

标签: node.js mongodb heroku mongohq

我无法获取MongoDB查询的输出。当我调用save方法时:

db.users.save({email: "test@gmail.com", password: "test", sex: "male"}, 
        function(err, saved) {
    });

代码有效,并存储条目。但是,据我所知,函数(错误,已保存)不会被调用。当我运行此代码时:

var mongojs = require("mongojs");
var MONGOHQ_URL="mongodb://testUser:testPassword@paulo.mongohq.com:10085/app********";

app.get('/', function(request, response) {
    var m = "hello";
    var databaseUrl = MONGOHQ_URL;
    var collections = ["users"];
    var db = mongojs.connect(databaseUrl, collections);

    var d = db.users.find({"sex":"male"}).limit(1);

    response.send(d.email);
});

然后我什么都没得到。有什么我想念的吗?

1 个答案:

答案 0 :(得分:1)

var d = db.users.find({“sex”:“male”})。limit(1)没有回调函数,所以它超出了范围,你没有看到响应。

首先关闭两件事我会使用findOne而不是limit(1),其次你缺少回调函数,试试这个

db.users.findOne({"sex":"male"}, function (err, result) {
  if(err){
   console.log(err);
  }else{

   console.log(result);
   //then do your response here
   response.send(result.email);
  }
 });

希望这是有道理的。