[] MongoDB query field corresponding array contains a certain value

When MongoDB operation, we may encounter the query [field corresponding array contains a value of data], the following query, assume a table called the User .

Example 1

  • data
{
    id: 1,
    state_arr: [
        "123",
        "456",
        "789"
    ],
    date: "2019-09-02"
}
  • check sentence
db.user.find({state_arr:{$elemMatch:{$eq:"123"}}})

Example 2

  • data
{
    id: 1,
    state_arr: [
        {
            id: 1,
            name: "hhh"
        },
        {
            id: 2,
            name: "www"
        }
    ],
    date: "2019-09-02"
}
  • check sentence
db.user.find({state_arr:{$elemMatch:{id:1}}})

Guess you like

Origin www.cnblogs.com/huiwenhua/p/11449044.html