【发布时间】:2021-05-24 05:35:14
【问题描述】:
我想通过查询中的产品类型将过滤添加到我的产品列表中。
假设我想实现这个:
Product.find({
"product_type.name": {
$in: ["A", "B"]
}
})
过滤我的产品类型为“A”或“B”。但我并不总是想过滤,这就是为什么从请求中我看到我们是否有这个过滤。所以我检查如下:
let query = {}
if (req.query.product_type) {
query.product_type.name = {
$in: ["A", "B"]
}
}
product_type = ["A", "B"] 来自请求。
然后:
Product.find(query)
当我运行它时,我得到了错误
TypeError: Cannot set property 'name' of undefined.
我希望查询值像
"product_type.name": {
$in: ["A", "B"]
}
【问题讨论】:
-
query["product_type.name"]
标签: javascript mongodb mongoose mongodb-query