mongodb查询对象下的数组是否同时包含几个条件

AI_Hecz
  • 1.1k

示例代码

// 数据
[
  {
    name: "a",
    arr: [{
      name: 'A'
    },{
      name: 'B'
    },{
      name: 'C'
    }]
  },
  {
    name: "b",
    arr: [{
      name: 'A'
    },{
      name: 'B'
    }]
  },
  {
    name: "c",
    arr: [{
      name: 'A'
    }]
  }
]

期望:

返回 arr 等于搜索条件,或者包含搜索条件的数据

// 搜索条件
[{ name: 'A' }, { name: 'B'}]

疑问:

$elemMatch 可以搜索数组,但是这种需求怎么进行搜索?

`{ $elemMatch: { $and: [{ name: 'A' }, { name: 'B'}] } }`

使用 $and 修饰符搜索为空

回复
阅读 907
1 个回答
✓ 已被采纳

已解决,通过 $all 修饰符处理
arr: { $all: [{ name: 'A' }, { name: 'B'}] }

你知道吗?

宣传栏