1
Ich bekomme einen Fehler bei der Verwendung von $ Regex in Mongoose Aggregation Abfrage. Ich erhalte einen ungültigen Operator mit Fehler Nr. 15999. Bitte helfen Sie Jungs.
{ $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
}
}
können Sie prüfen, req.query.text als String –
Wenn Sie JS-Code verwenden können, versuchen zu entkommen es als 'req.query.text.replace (/ [- \/\\^$ * + ?.() | [\] {}]/g, '\\ $ &')'. Wenn der Text '[' oder '(' oder andere spezielle Regex-Metazeichen enthält, sollte dies das Problem beheben. –
Nicht sicher, ob Sie regex in $ project verwenden können http://stackoverflow.com/questions/29866336/regex-within- Projekt-Mongodb-Aggregation – jpaljasma