我知道,如果我想找到用户= test2的用户,我可以使用
db.getCollection('user').find({},{_id:1},{"username":"test2"})
现在,在Visual Studio代码上,我想从用户集合中找到字段"禁用"的值,其中字段"用户名"值等于可变" tempusername"值。我尝试了:
colUser = mongoDb.collection("user");
var status = colUser.find({},
{ disabled:1},{ username:tempusername},function (err, doc) {
console.log(doc);
});
,但它显示状态的价值是"未定义的"。这是什么写代码?
我认为这是您想要的。
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()
})
})
我找到了答案,基本上它的工作方式是结果是在功能内返回,所以我必须这样说:
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();
}
});
感谢您的评论!