как найти имя поля коллекции, где другое поле равно определенному значению - PullRequest
0 голосов
/ 26 апреля 2018

Я знаю, что в robomongo, если я хочу найти _id пользователя, где username = 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);
      });

, но это показывает, что значение статуса "неопределено".Какой код записи для этого?

Ответы [ 2 ]

0 голосов
/ 26 апреля 2018

Я нашел ответ, в основном, как он работает, результат будет возвращен внутри функции, поэтому я должен выразить это так:

   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();
    }
});

спасибо всем за ваши комментарии!

0 голосов
/ 26 апреля 2018

Я думаю, это то, что вы ищете.

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()
 })    
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...