【问题标题】:How to query an object inside an array by multiple value in mongoose (javascript)?如何通过猫鼬(javascript)中的多个值查询数组内的对象?
【发布时间】:2021-07-20 18:57:43
【问题描述】:
我有一个对象,服务器将收到一个user_id 和一个part_id。我需要获取特定用户,然后通过提供的部件 ID 过滤部件并获取价格。
{
_id: 6086b8eec1f5325278846983,
user_id: '13',
car_name: '车名 1',
created_at: 2008-11-25T00:46:52.000Z,
部分: [
{
_id: 6086ee212681320190c3c8e0,
part_id: 'P456',
part_name: '零件名称 1',
image: '图片网址',
统计:{
价格:10,
}
},
{
_id: 6087e7795e2ca925fc6ead27,
part_id: 'P905',
part_name: '零件名称 2',
image: '图片网址',
统计:{
价格:15,
}
}
]
}
我尝试运行以下命令,但忽略了 part_id 过滤器并返回数组中的每个部分。
Custumers.findOne({'user_id': '13', 'parts.part_id': 'P456'})
也尝试了聚合,但仍然没有运气。
Customers.aggregate([
{ $match: { 'user_id': '13'}}
]).unwind('parts')
我查看了 mongoose 文档,但无法理解它。请让我知道我缺少什么。
猫鼬版本:5.12.4
【问题讨论】:
标签:
javascript
mongodb
mongoose
mongodb-query
aggregation-framework