Использование результата одного запроса в другом запросе: nodejs и mongodb - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь подсчитать количество документов в коллекции и затем использовать результат в другом запросе вставки, используя узел js.

    var number;
    db.collection("collection").countDocuments({}, function(error, numOfDocs){
            if(error) throw error;
            else{
                console.log(numOfDocs);
                number = numOfDocs;
            }
    }); 


    var myobj = { num: "Number_"+number };
    db.collection("another_collection").insertOne(myobj, function(err, res) 
    {
            if (err) throw err;
            console.log("1 document inserted");         
    });

Вставленное значение в коллекции: {"num":"Number_undefined"}

Как использовать результат первого запроса в другом?

1 Ответ

0 голосов
/ 11 сентября 2018

Это потому, что вы не дали Number значение. Кроме того, функция count() является асинхронной функцией (об этом я написал ответ здесь ). Попробуйте это:

db.collection('collection')
  .countDocuments({}, function(error, numOfDocs){
    if(error) throw error;
    else {
        var myobj = { num: 'Number_' + numOfDocs };
        db.collection('another_collection').insertOne(myobj, function(err, res) {
               if (err) throw err;
               console.log('1 document inserted');         
        });
    }
}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...