查询对象猫鼬的嵌套数组

时间:2020-07-18 15:37:06

标签: mongodb mongoose mongodb-query

我想在嵌套对象中找到带有alexa的名称 游乐场:https://mongoplayground.net/p/rqYQtf0liaX

[
  {
    item: "journal",
    instock: [
      {
        warehouse: "A",
        qty: 5,
        items: null
      },
      {
        warehouse: "C",
        qty: 15,
        items: [
          {
            name: "alexa",
            age: 26
          },
          {
            name: "Shawn",
            age: 26
          }
        ]
      }
    ]
  }
]

到目前为止,我已经尝试过了,但没有找到文档

db.collection.find({
  "instock.items": {
    $elemMatch: {
      name: "Alexa"
    }
  }
})

1 个答案:

答案 0 :(得分:3)

Mongo区分大小写。

play

db.collection.find({
  "instock.items": {
    $elemMatch: {
      name: "alexa"
    }
  }
})

如果要不区分大小写,请使用regex$text。通过$regex,您可以使用$elemMatch

db.collection.find({
  "instock.items": {
    $elemMatch: {
      name: {
        $regex: "alexa",
        $options: "i"
      }
    }
  }
})