mongo.connect(mongostr, {}, function(error, db){
var mycoll = db.collection("newuser");
mycoll.find({'userID':12345},
{'userID':true},
function(err, value) {
console.log(value);
});
});
我已经为mongoDB添加了一个测试集合,我知道它存在的事实。我知道一个事实,确切的查询返回我想要的东西(在mongoHQ面板中自己测试)。 mongo对象工作正常。不幸的是docs don't have an example,所以我看不出我做错了什么。
当查询运行时,我得到db对象的控制台转储:
{ db: { databaseName: 'appxxxxxxx',
serverConfig:
{ host: 'staff.mongohq.com',
port: 10096,
options: {},
internalMaster: true,
connected: true,
poolSize: 1,
ssl: false,
slaveOk: undefined,
答案 0 :(得分:1)
db.collection是异步调用。您正在以同步方式访问它。
var mycoll = db.collection("newuser");
试试这个:
mongo.connect(mongostr, {}, function(error, db){
var mycoll = db.collection("newuser", function(err,collection){
collection.find({'userID':12345},
{'userID':true},
function(err, value) {
console.log(value);
});
});
});