2014-11-18 2 views
0

Я очень новичок в Mongo, поэтому, скорее всего, я пропустил что-то очень очевидное, но я ничего не нашел в Интернете, чтобы сказать мне, что это такое. Я пытаюсь запустить запрос mongodb из файла JavaScript, но у меня возникают проблемы.Mongo Projection игнорируется

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

Я распечатал команду и попытался запустить его сам в Монго и это, кажется, работает хорошо, но что-то в JS перепутались.

Заранее благодарен!

ответ

1

Вместо того, чтобы сцепить критерии и проекция передать их в качестве объектов, как это:

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