在这里,我有一个示例代码,从一个集合中获取数据并将其放入游标,并再次从另一个集合中获取数据,我想要在下面的游标中使用我要推送的数据。如何使用它。我得到了空白[]回复。
{
let f1= [];
let f2 = [];
let f3 = [];
var cursor = collection.find({'timestamp':{"$gte":queryObject.fromdate,"$lt" : queryObject.todate}}).sort({"timestamp":1});
var collectionname = db.collection("col2");
collectionname.find({}).each(function(err, doc) {
for(let i in doc.Data)
{
for(let j in doc.Data[i].position)
{
for(let k in doc.Data[i].position[j].status)
{
f1.push(doc.Data[i].position[j].pcode);
f2.push(doc.Data[i].position[j].status[k].value);
f3.push(doc.Data[i].position[j].status[k].code);
cursor.each(function(err, doc) {
if(doc!=null){
if(index==0){
}
var temp = {};
var obj = doc.data[0];
var Count = 0;
for(var i=0;i<temp.length;i++){
if(obj[temp[i]]!=undefined){
if(obj[temp[i]]==f2 && temp[i]==f1){
temp[temp[i]] = f3;
temp.timestamp = obj.timestamp;
Count++;
}
else{
temp[temp[i]] = obj[temp[i]];
Count++;
temp.timestamp = obj.timestamp;
}
}
}
}
else
{
res.writeHead(200, {
'Content-Type': 'application/json'
});
var resultData = {"data":resultset,"success":true};
res.write(JSON.stringify(resultData));
res.end();
}
});
}}}
});
}
编辑:数据来自col2,现在我想在条件下与col1匹配,能够迭代col1 temp但是从col2 f1,f2,f3数据无法迭代它始终是第一个。 如何存档。请帮助相同。 Col2的样本json:
{
"_id" : ObjectId("59d47780d882f82f656c7978"),
"code" : "1",
"Data" : [
{
"pcode" : "AA",
"Name" : "x",
},
{
"pcode" : "BB",
"Name" : "y",
"position" : [
{
"pcode" : "BB",
"position" : "15",
"status" : [
{
"code" : "0",
"value" : "OFF"
},
{
"code" : "1",
"value" : "ON"
}
]
},
{
"pcode" : "CC",
"position" : "14",
"status" : [
{
"code" : "0",
"value" : "YES"
},
{
"code" : "1",
"value" : "NO"
}
]
},
],
"type" : "1122",
}
Col1的样本json:
{
"_id" : ObjectId("5a9c3b504fd78e675e619d61"),
"data" : [
{
"BB" : "OFF",
"CC" : "YES",
"type" : "1122"
}
]
}