我无法获取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);
});
然后我什么都没得到。有什么我想念的吗?
答案 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);
}
});
希望这是有道理的。