我试图计算集合中文档的数量,然后将结果用于使用节点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”}
如何将第一个查询的结果用于另一个?
答案 0 :(得分:1)
这是因为您没有给Number
赋值。此外,count()
函数是一个异步函数(我为此写了一个答案here)。试试这个:
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');
});
}
});