本机JS如何找到一个集合的字段名称,其中另一个字段等于某些值



我知道,如果我想找到用户= 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();
    }
});

感谢您的评论!

最新更新