Supongamos que tengo estos documentos:
[ { _id: 132143124, orders: [true, false, false], }, { _id: 3123, orders: [true, true, true], }, ];¿Cómo obtengo solo los documentos que no tienen 'falso' en su matriz de pedidos? Necesito una solución de etapa agregada. (Solución agregada de MongoDB)
Puede usar $not o $ne (ya que el lenguaje de consulta de Mongo aplana las matrices) para esto, así:
db.collection.find({ orders: {$ne: false} })la misma sintaxis funcionará en la canalización de agregación: Mongo Playground Aggregation
Podría usar la función de filtro para matrices:
const results = [ { _id: 1, orders: [true, false, false], }, { _id: 2, orders: [true, true, true], } ] const filtered_results = results.map(({orders, ...data}) => { return { orders: orders.filter((order)=>order === true), ...data } }) console.log(filtered_results)