【MongoDB】查询字段对应的数组中包含某个值

时间:2023-03-09 10:00:51
【MongoDB】查询字段对应的数组中包含某个值

在MongoDB操作的时候,我们可能会遇到查询【字段对应的数组中包含某个值】的数据,查询语句如下,假设表名为user

示例1

  • 数据
{
id: 1,
state_arr: [
"123",
"456",
"789"
],
date: "2019-09-02"
}
  • 查询语句
db.user.find({state_arr:{$elemMatch:{$eq:"123"}}})

示例2

  • 数据
{
id: 1,
state_arr: [
{
id: 1,
name: "hhh"
},
{
id: 2,
name: "www"
}
],
date: "2019-09-02"
}
  • 查询语句
db.user.find({state_arr:{$elemMatch:{id:1}}})