2016-04-21 39 views
1

我試圖尋找一個嵌套元素的存在,以及獲得時間戳大於:

db.stats.find( { $and: [ { 'data.Statistics': {$exists: true} },{ timestamp: {$gte: 1} } ] } 

docs我可以」我不知道我要去哪裏,但我沒有得到任何回報。

只是做:

var query = {};  
query["data.Statistics"] = {$exists: true} 

然而工作。

回答

3

,因爲它可以隱含使用只指定一個逗號分隔的表達式列表因此你可以重新編寫查詢的$and運營商是不是在這種情況下,確有必要:

db.stats.find({ 
    "data.Statistics": { "$exists": true }, 
    "timestamp": { "$gte": 1 } 
}); 

如果使用一個使用方括號表示法創建查詢對象的變量,可以像

var query = {};  
query["data.Statistics"] = { "$exists": true }; 
query["timestamp"] = { "$gte": 1 }; 

db.stats.find(query);