1976年贪婪的嘴唇,韩国少妇激三级做爰2023电影,久久久久久精品国产三级涨奶,妖精漫画在线观看免费漫画下拉式

MongoDB下根據數組大小進行查詢的方法
來源:易賢網 閱讀:2875 次 日期:2014-05-14 18:16:48
溫馨提示:易賢網小編為您整理了“MongoDB下根據數組大小進行查詢的方法”,方便廣大網友查閱!

這篇文章主要介紹了MongoDB下根據數組大小進行查詢的方法,分別實現了指定大小的數組和某個范圍的數組,需要的朋友可以參考下

注意:作者使用的mongodb版本為2.4.7。

首先插入測試數據

代碼如下:

db.data.insert({name:'a', num:[12,123,22,34,1]});

db.data.insert({name:'b', num:[42,22]});

db.data.insert({name:'c', num:[49]});

鍵num對應的值是數組。

查詢num的數組值具有指定大小的document

最好的方法是使用$size,例如指定大小為2,可以:

代碼如下:db.data.find({num:{$size:2}})

不過$size有一個缺陷,就是無法查詢某個范圍的大小,例如下面的語句是無法按照預期運行的:

復制代碼 代碼如下:db.data.find({num:{$size:{$gt:2}}}); //錯誤

官方文檔中建議,如果需要查詢的數組大小在某個范圍,可以另外為每個文檔添加一個鍵來保存當前數組的大小。

如果數組大小是某個范圍

另外兩種思路,第一個思路是使用$where,例如如果要求數組大小小于3:

代碼如下:

db.data.find({ $where: "this.num.length < 3" })

這種方法具有很大的靈活性,但是速度會慢一些。

關于$where,請參考官方文檔:http://docs.mongodb.org/manual/reference/operator/query/where/。

另外一個比較高效的方法是判斷數組中的某個指定索引的元素是否存在,例如如果要求數組大小小于3:

代碼如下:

db.data.find({ "num.2": {$exists:0}})

數組大小小于3,就意味著num[2]不存在。

如果要求數組大小大于3,可以:

代碼如下:

db.data.find({ "num.3": {$exists:1} })

更多信息請查看IT技術專欄

更多信息請查看數據庫
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
主站蜘蛛池模板: 灵石县| 文昌市| 新兴县| 兴和县| 沂水县| 抚州市| 西城区| 佳木斯市| 从化市| 宜兰市| 平潭县| 苍溪县| 东平县| 衡阳市| 石河子市| 广宗县| 峡江县| 信丰县| 新建县| 滁州市| 云霄县| 嵊泗县| 巢湖市| 昔阳县| 个旧市| 瓮安县| 宝兴县| 东源县| 建宁县| 澎湖县| 南木林县| 渝北区| 蕲春县| 仙游县| 琼中| 秦安县| 清远市| 永济市| 镇康县| 绥芬河市| 凤冈县|