我如何做这样的查询过滤器?

时间:2019-08-19 20:02:07

标签: mongodb mongoose

我试图像这样过滤包含pytest_generate_tests的数组。

我的模式:

item.espaco == 'peitoral'

image

1 个答案:

答案 0 :(得分:0)

在mongodb 3.4或更高版本上 您可以使用$filter$addFields

Mercado.aggregate([
  { $match: { _id: mongoose.Types.ObjectId("5d52e69b4b333234f0bbf1ba") }},
  { $addFields: {
      itens: {
        $filter: {
          input: "$itens",
          as: "iten",
          cond: { $eq: ["$$iten.item.espaco", "peitoral"] }
        }
      }
  }}
])

您可以使用return替换itens并使用聚合返回过滤器数据