我是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() );
}

07-26 05:23