前面兩篇文章介紹了 比較查詢運算子、邏輯查詢運算子 及 元素查詢運算子,今天要來介紹 Array 相關查詢運算子。
在實際資料裡,許多 field 所儲存的值是 array 的形式,因此我們會需要對 array 裡的資料進行查詢,以下透過三個例子來介紹要如何對 array 裡的資料進行相關的查詢操作。
[
{
"name": "Jack",
"age": 27,
"hobby": [
{
"type": "Movie",
"rating": 3
},
{
"type": "Sports",
"rating": 6
}
]
},
{
"name": "Mark",
"age": 25,
"hobby": [
{
"type": "Movie",
"rating": 2
},
{
"type": "Cook",
"rating": 5
},
{
"type": "Music",
"rating": 4
}
]
}
]
db.people.find({"hobby.type": "Movie"}).pretty()
$size
這個運算子db.people.find({hobby: {$size: 3}}).pretty()
$elemMatch
這個運算子db.people.find({hobby: {$elemMatch: {type: "Movie"}, rating: 3}}).pretty()
今天延續前兩篇介紹 MongoDB 的查詢運算子,若是要查詢 array 結構的資料,可以使用以上幾種方法進行查詢。