我知道在robomongo上如果我想查找用户名为_id的用户名= test2我可以使用
db.getCollection('user').find({},{_id:1},{"username":"test2"})
现在,在visual studio代码上,我想从用户集合中找到字段“disabled”的值,其中字段“username”值等于变量“tempusername”值。我试过了:
colUser = mongoDb.collection("user");
var status = colUser.find({},
{ disabled:1},{ username:tempusername},function (err, doc) {
console.log(doc);
});
但它显示状态值为“未定义”。这是什么写代码?
答案 0 :(得分:1)
我认为这是你正在寻找的东西。
const url = 'mongodb://localhost:27017'
MongoClient.connect(url, (err, db) => {
const dbo = db.db('mydb')
dbo.collection('user').find({disabled:'1',username:tempusername}).toArray((err, doc) => {
if(err){
console.log(err)
}
console.log(doc)
db.close()
})
})
答案 1 :(得分:1)
我找到了答案,基本上它的工作方式是结果将在函数内部返回,所以我必须这样说:
var statusbuffer;
colUser.findOne({ username:tempusername},{ _id:0,disabled:1},function (err, userstatus){
// User result only available inside of this function!
if (err) {
next("Failed to update records");
} else {
console.log("disabled status here:",userstatus.disabled) // => yields your user results
statusbuffer = userstatus.disabled;
next();
}
});
感谢所有人的评论!