J'ai une collection mongodb qui contient des objets qui ont plusieurs propriétés (probablement beaucoup). L'un d'entre eux est un tableau d'un autre type d'objet, et ce type a une propriété booléenne StateChanged
.
Je veux faire une requête qui renvoie tous les enregistrements de cette collection, et filtrer le tableau pour n'obtenir que les documents avec StateChanged = true
.
Voici ce que j'ai déjà fait :
db.getCollection('Cycles').aggregate([
{
$project: {
_id: 0,
// Here I could add Field1: 1, Field2: 1,...
'Subcycles' : {
$filter : {
input: '$Subcycles',
as : 'sub',
cond: { $eq: ['$$sub.StateChanged',true]}
}
}
}
}
])
Cependant, cela ne m'apporte que la collection "Subcycles". Ce que je veux, c'est inclure d'autres champs dans le document racine.
Je pourrais les spécifier manuellement dans la projection (comme Champ1 : 1, Champ2 : 1,...), mais comme il peut y avoir beaucoup de champs, je me demandais s'il existait un moyen de les amener tous automatiquement.
Merci d'avance !