我是Mongo的新手,所以很可能会漏掉一些非常明显的东西,但是我在互联网上找不到任何东西可以告诉我这是什么。我正在尝试从JavaScript文件运行mongodb查询,但遇到了麻烦。
Mongo似乎忽略了查询的投影部分,尽管其他一切都进行得很好。
criteria = ' { "powersave_enabled" : false, "tx_rate" : { $lt : 26000 }, "rx_rate" : { $lt : 26000 }, "btyes-r" : { $ne: 0 } } ';
projection = ' {"_id":0, "hostname" : 1, "rssi" : 1, "mac" : 1, "ap_mac" : 1, "noise" : 1} ';
command = criteria + ', ' + projection;
accessPoints = db.cache_sta.find(command);
while (accessPoints.hasNext()){
printjson( accessPoints.next() );
}
我已经打印出命令并尝试在mongo中自己运行该命令,但似乎工作正常,但是JS中的某些内容混乱了。
提前致谢!
最佳答案
与其将标准和投影连接起来,不如将它们作为如下对象传递:
criteria = { "powersave_enabled" : false, "tx_rate" : { $lt : 26000 }, "rx_rate" : { $lt : 26000 }, "btyes-r" : { $ne: 0 } };
projection = {"_id":0, "hostname" : 1, "rssi" : 1, "mac" : 1, "ap_mac" : 1, "noise" : 1};
accessPoints = db.cache_sta.find(criteria, projection);
while (accessPoints.hasNext()){
printjson( accessPoints.next() );
}