0
我有一個包含數組格式數據的集合,如下所示。如何在mongodb上對數組內容應用過濾器
db.mycollection.save(
{
"username": "jain",
"options": [
{
"expiration_dt": "2016-01-15",
"isMini": false
},
{
"expiration_dt": "2014-01-18",
"isMini": true
},
{
"expiration_dt": "2014-01-18",
"isMini": false
}
]
}
)
以這樣的方式,它會命名基於expiration_dt字段「選項」的陣列的元素進行排序,並返回所獲得的結果中的第一個書寫的查詢。
這是做這項工作
db.mycollection.aggregate({$match : {"username" : "jain"}},{$unwind: "$options"},{$sort: {"options.expiration_dt":1}},{$limit : 1})
我的問題是,我可以包括過濾器基於isMini在上面的查詢字段(因爲現在我面臨的問題是查詢,如果一個數組是相同的expiration_dt,它返回我該數組中存在的第一個匹配元素 所以我想包括一個更多的基於isMini屬性的過濾器,以便它返回我正確的數據,即使它有得到相同的expiration_dt。
完美的工作,非常感謝你,先生。 – Pawan
不客氣。 –