php mongodb 子查询,MongoDB数组子查询elemMatch
MongoDB數組子查詢elemMatch
在
MongoDB數組子查詢elemMatch詳解
語法
db_name.collection_name.find({field:{$elemMatch:{subfield1:val1, subfield2:val2}}});
參數
參數
描述
db_name
數據庫名
collection_name
集合名
filed
要查詢的字段
subfield1
要查詢的子字段
val1
子字段等于的值
subfield2
要查詢的子字段
val2
子字段等于的值
說明
查詢結構體字段的 field 字段的子字段 subfield1 值為 val1 并且 subfield2 值為 val2 的數據。
案例
我們首先,使用 mongo 命令,連接上數據庫,具體命令如下:
mongo
如下圖所示:
現在,我們使用 use 命令,切換到 haicoder 數據庫,具體命令如下:
use haicoder
現在,我們使用
db.haicoder.insertMany([{"url":"haicoder.net", "courses":[{"name":"cpp", "age":100}, {"name":"stl", "age":101}]},
{"url":"m.haicoder.net", "courses":[{"name":"java", "age":90}, {"name":"golang", "age":101}]}])
執行完畢后,此時,如下圖所示:
我們看到,此時提示我們成功插入了三條記錄,現在,我們使用 find 對數組進行查詢,查詢 name 為 cpp 并且 age 為 100 的記錄,具體命令如下:
db.haicoder.find({"courses":{$elemMatch:{"name":"cpp", "age":100}}}, {_id:0})
執行完畢后,此時,如下圖所示:
我們看到,此時我們匹配了數組的 name 字段和 age 字段都匹配的記錄。
MongoDB數組子查詢elemMatch總結
在 MongoDB 中,elemMatch 用于查詢數組類型的字段的子字段同時必須滿足條件,并且在同一條記錄中。
總結
以上是生活随笔為你收集整理的php mongodb 子查询,MongoDB数组子查询elemMatch的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 浏览器 兼容,兼容ie6浏览器的
- 下一篇: 动态规划算法php,php算法学习之动态