Estoy tratando de seleccionar documentos con campos de costos entre 0 y 5 y luego intento seleccionar documentos con rangos de costos entre 10 y 15. Para esto, estoy usando MongoDB aggregation
const something = await dummyModel.aggregate([ { $match: { fieldA: { $in: arryOfIds, }, cost: { $or: [ { $gte: 0, $lt: 5 }, { $gte: 10, $lt: 15 }, ], }, }, }, ]);Con el enfoque anterior, obtengo este error de mongoose.
"message": "unknown operator: $or", Cualquier idea sobre esto para elegir rangos en MongoDB usando mongoose
Deberías hacerlo con la consulta de find .
db.collection.find({ "fieldA": { "$in": arryOfIds, }, "$or": [ { "cost": { "$gte": 0, "$lt": 5 } }, { "cost": { "$gte": 10, "$lt": 15 } } ] })