From:http://stackoverflow.com/questions/12629692/querying-an-array-of-arrays-in-mongodb

数据

db.multiArr.insert({"ID" : "fruit1","Keys" : [["apple", "carrot", "banana"]]})
db.multiArr.insert({"ID" : "fruit2","Keys" : [["apple", "orange", "banana"]]})db.multiArr.find({'Keys':{$elemMatch:{$elemMatch:{$in:['carrot']}}}})
{ "_id" : ObjectId("506555212aeb79b5f7374cbf"), "ID" : "fruit1", "Keys" : [ [ "apple", "carrot", "banana" ] ] }db.multiArr.find({'Keys':{$elemMatch:{$elemMatch:{$in:['banana']}}}}){ "_id" : ObjectId("506555212aeb79b5f7374cbf"), "ID" : "fruit1", "Keys" : [ [ "apple", "carrot", "banana" ] ] }
{ "_id" : ObjectId("5065587e2aeb79b5f7374cc0"), "ID" : "fruit2", "Keys" : [ [ "apple", "orange", "banana" ] ] }

查询语句:

Interesting question, This will do the trick

db.multiArr.find({'Keys':{$elemMatch:{$elemMatch:{$in:['carrot']}}}})
$elemMatch used to check if an element in an array matches the specified match expression. so nested $elemMatch will go deeper into nested arrays

补充:

http://stackoverflow.com/questions/17360423/getting-a-dictionary-inside-a-list-by-key-in-mongodb-mongoengine

转载于:https://www.cnblogs.com/colipso/p/4431343.html

【MongoDB】嵌套数组查询方案相关推荐

  1. MongoDB嵌套数组,多维数组查询

    一.嵌套数组 数据: {"arrays": [{"keyArrays": [{"key": "index"," ...

  2. 阿里云DLA新功能来袭 查询MongoDB嵌套字段更方便

    背景 DLA之前对于MongoDB只支持简单类型的映射查询,对于嵌套字段无法直接查询,最近我们加入了对嵌套字段直接查询的支持,这篇文章给大家介绍一下. MongoDB嵌套字段查询详解 首先我们在Mon ...

  3. MongoDB数组查询

    文章目录 MongoDB数组查询 数组匹配 查询数组元素 多条件数组元素查询 1. 复合过滤条件查询数组元素 2. 查询满足多个条件的数组元素 3. 按数组索引位置查询元素 4. 按数组长度查询数组 ...

  4. sql 查询嵌套数组

    查询嵌套数组 如果一个表包含 STRUCT 的 ARRAY,则可展平 ARRAY 以查询 STRUCT 的字段.您也可以展平 STRUCT 值的 ARRAY 类型字段. 查询 ARRAY 中的 STR ...

  5. php mongo 范围查询语句,【MongoDB】数组和范围查询的相互作用

    文档中的标量(非数组元素)必须与查询条件中的每一条语句相匹配.例如,如果使用{"x":{$gt:10, $lt:20}进行查询,只会匹配"X"键的大于等于10并 ...

  6. java查询mongodb 嵌套,查询嵌套文件mongoDB

    这是我在文本模式下的示例MongoDB 我想检索每个用户的数据 . 我也想要_id因为在一个完整的文档中它有几个具有相似结构的_id . 我尝试使用unwind运算符,因为该对象包含嵌套数组,如下所示 ...

  7. mongodb和pymongo中,在多层嵌套数组中插入(更新)符合条件的元素

    数据结构是多层嵌套数组: {"_id" : ObjectId("5de0c88a0f158bf0f60ff99a"),"province" ...

  8. 线上一个数组查询遇到的坑

    背景 中午12点半,接到了线上MongoDB 数据库异常的告警通报: "CPU不间断飙升到百分百,业务也相应出现了抖动现象." 通过排查数据库主节点的日志,发现了这样的一个慢语句: ...

  9. Mysql or Mongodb LBS快速实现方案

    http://www.wubiao.info/470 前两篇文章: 查找附近的xxx 球面距离以及Geohash方案探讨 (http://www.wubiao.info/372) 微信.陌陌 架构方案 ...

最新文章

  1. 深入理解Spring系列之六:bean初始化
  2. auto errored after 报错解决_MySQL5.7 group_by报错问题解决办法,大部分程序员都收藏了...
  3. linux下面升级 Python版本并修改yum属性信息
  4. 小米卢伟冰回应“低价误国”言论:华为是中国企业“低价”战略的榜样
  5. ctfshow-WEB-web6
  6. FMEA软件七步法(FMEAHunter)
  7. 2016 server win 假死_Win7运行程序无缘无故发生假死现象五种解决方法
  8. Words Reciting 2016.5.4
  9. Laravel Model 的 fillable (白名单)与 guarded (黑名单)
  10. 超好用的ps图表快速生成插件:PS拉框助手 for mac
  11. Android音乐浮窗播放器
  12. 自然语言处理模型:bert 结构原理解析——attention+transformer(翻译自:Deconstructing BERT)
  13. Office Tool Plus软件运行错误,缺少.net
  14. SRAM、PSRAM、SPI FLASH初步认识
  15. 4 计算机设备的折旧年限不低于,汇算清缴十大注意事项四:如何正确适用固定资产加速折旧政策...
  16. oracle 查询去年同期,问个算去年同期值的sql,该怎么处理
  17. 教你如何在社会上“混”
  18. mybatis代码自动生成工具之maven插件mybatis-generator-maven-plugin(mybatis逆向工程)
  19. 免签接口 个人二维码收款系统/微信支付支付宝支付二维码监听自动发货/个人免签系统/个人免签支付 微信.支付宝 个人支付监控
  20. CALayer创建图层(转)

热门文章

  1. 为ListView每个Item上面的按钮添加事件
  2. 最长不下降子序列的O(n^2)算法和O(nlogn)算法
  3. 无向图——双连通分量
  4. golang中的方法
  5. MySQL支持的分区类型
  6. mutable关键字
  7. c++ set有序性
  8. shutdown函数和FIN_WAIT2状态
  9. JUC并发编程七 并发架构--wait/notify
  10. 数据结构:O(nlogn)算法