我已经连接了mongodb和nodejs。
我对要列出的sav查询结果有疑问。
results = [];
for(i = 0; i<query.length; i++){
db.collection(collectionName).find(query[i]).toArray(function(err, result){
results[i] = result;
});
}
我使用了 async.waterfall ,但是效果不是很好... 如果您像我一样解决了这个问题,请问如何解决?
像这样的查询:
{
location:{
$geoWithin : {
$center: [[lng, lat], radian]}},
time : "time value"
}
lng,lat,time是列表。
答案 0 :(得分:1)
根据查询数组的内容,最好运行一个使用 $or
运算符的查询,而不是遍历查询数组并为每个查询触发服务器请求:
db.collection(collectionName).find({ '$or': query }).toArray((err, results) => {
console.log(results);
});