【发布时间】:2020-08-20 05:10:24
【问题描述】:
我的收藏架构如下:
产品
{
_id: ObjectId(), // default mongo db id
specification: [
{key: 'Name', value: "value 1"},
{key: 'Category', value: "value 2"},
{key: 'Department', value: "value 3"}
]
}
现在我想使用通用过滤器对此进行查询。例如,
- 通过
Name = value 1和Category in [value 2, value 3]和Department = value 3向我获取所有产品 - 通过
Name = value 1或Category = value 2或Department in [value 3, value 4]向我获取所有产品
我一直在尝试将$match 与$elemMatch 一起使用。但这只允许一个查询,但我无法使用$and 和$or 运算符。
【问题讨论】:
-
所以你想要两个查询?一个用于获取我所有名称 = 值 1 和类别在 [值 2,值 3] 和部门 = 值 3 的产品,另一个用于获取我所有名称 = 值 1 或类别 = 值 2 或部门在 [值 3,值 4]
标签: mongodb mongoose mongodb-query