MongoDB Query Array

[
  { item: "journal", qty: 25, tags: ["blank", "red"], dim_cm: [ 14, 21 ] },  # 1
  { item: "notebook", qty: 50, tags: ["red", "blank"], dim_cm: [ 14, 21 ] },  # 2
  { item: "paper", qty: 100, tags: ["red", "blank", "plain"], dim_cm: [ 14, 21 ] },  # 3
  { item: "planner", qty: 75, tags: ["blank", "red"], dim_cm: [ 22.85, 30 ] },  # 4
  { item: "postcard", qty: 45, tags: ["blue"], dim_cm: [ 10, 15.25 ] }  # 5
]

1.查询tags对应序列为["red", "blank"]的doc,序列元素内容和顺序必须一致:
{ tags: ["red", "blank"] } -> 2
2.查询tags对应序列为["red", "blank"]的doc,序列元素顺序不需要一致:
{ tags: { $all: ["red", "blank"] } } ->1,2,3,4
3.查询tags对应序列包含"red"的doc
{ tags: "red" } -> 1,2,3,4
4.查询dim_cm对应序列中包含大于25元素的doc
{ dim_cm: { $gt: 25 } } ->4
5.查询dim_cm对应序列中包含大于15元素小于20的doc
{ dim_cm: { $gt: 15, $lt: 20 } } -> 1,2,3,5
6.查询dim_cm对应序列中包含大于22元素小于30的doc
{ dim_cm: { $elemMatch: { $gt: 22, $lt: 30 } } } ->4
7.查询dim_cm对应序列中第一个元素大于25的doc
{ "dim_cm.1": { $gt: 25 } } -->4
8.查询tags对应序列为3的doc
{ "tags": { $size: 3 } } # 删选tags,长度为3 的doc

参考:
https://docs.mongodb.com/manual/tutorial/query-arrays/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值