MongoDB嵌套数组查询:按嵌套字段过滤并提取指定属性
MongoDB嵌套数组过滤查询实现方案
你可以使用MongoDB聚合管道实现需求,完整查询语句如下:
db.collection.aggregate([ // 过滤出存在符合条件药品的父文档,减少后续计算量 { $match: { "medicines.type": "Suncream" } }, // 拆分medicines数组,将每个药品项转为独立的单文档 { $unwind: "$medicines" }, // 过滤出类型匹配的药品项 { $match: { "medicines.type": "Suncream" } }, // 格式化返回字段,仅保留所需的药品名称和价格 { $project: { _id: 0, name: "$medicines.name", price: "$medicines.price" } } ])
上述查询执行后返回的结果和你要求的输出格式完全一致。
内容的提问来源于stack exchange,提问作者ignareyesa
相关产品推荐
相关产品推荐

