在猫鼬聚合查询中使用$ regex时出现错误。我收到一个无效的运算符,错误号为15999。请帮助大家。
{ $match: { "_id": ObjectId(req.headers.token) } }, {
$project: {
inventory: {
$filter: {
input: '$inventory',
as: 'inventory',
cond: {$or:[{"$$inventory.item":new RegExp('^'+req.query.text+'$', "i")},{"$$inventory.sku":new RegExp('^'+req.query.text+'$', "i")}]}
}
},
_id: 0
}
}
最佳答案
您可以在$ match中使用正则表达式,如本例所示,您将获得结果
Pincodes.aggregate([
{ "$match": { "district": new RegExp('^' + req.query.district, "i") }
},
{ "$group": { "_id": "$district" } }])
.exec((err, data) => {
if (err) {
res.status(500).json({
data: err
})
}
else {
res.status(200).json({
data: data
})
}
})
关于regex - 无法在聚合查询中的 Mongoose 中使用$ regex?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38286201/