iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 15
0
AI & Data

從入門到精通 MongoDB系列 第 15

Day15: 進階的 CRUD 操作(5) - Array 相關查詢運算子

前面兩篇文章介紹了 比較查詢運算子邏輯查詢運算子元素查詢運算子,今天要來介紹 Array 相關查詢運算子


Array 相關查詢運算子

在實際資料裡,許多 field 所儲存的值是 array 的形式,因此我們會需要對 array 裡的資料進行查詢,以下透過三個例子來介紹要如何對 array 裡的資料進行相關的查詢操作。

範例資料:array.json

[
    {
        "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
            }
        ]
    }
]

範例1:查詢嗜好是看電影的人

  • db.people.find({"hobby.type": "Movie"}).pretty()

範例2:查詢有三個嗜好的人

  • 使用 $size 這個運算子
  • db.people.find({hobby: {$size: 3}}).pretty()

範例3:查詢嗜好有看電影,且評分 3 以上

  • 使用 $elemMatch 這個運算子
  • db.people.find({hobby: {$elemMatch: {type: "Movie"}, rating: 3}}).pretty()

今天延續前兩篇介紹 MongoDB 的查詢運算子,若是要查詢 array 結構的資料,可以使用以上幾種方法進行查詢。


上一篇
Day14: 進階的 CRUD 操作(4) - 元素查詢運算子
下一篇
Day16: 進階的 CRUD 操作(6) - sort(), limit(), skip()
系列文
從入門到精通 MongoDB26

尚未有邦友留言

立即登入留言