MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Interroger un tableau de documents imbriqués pour la valeur la plus élevée du champ

Vous pouvez également essayer une approche moderne - framework d'agrégation :

1) Trouver la 'valeur' ​​maximale du tableau pour tous les éléments de la collection :

db.collection.aggregate([
    { $unwind: "$array" },
    { $group: { _id: "$_id", value: { $max: "$array.value" } } }
]);

2) Trouver la 'valeur' ​​maximale du tableau pour l'élément spécifié :

db.collection.aggregate([
    { $match: { _id: new ObjectId("526d89571cd72ce9dbb6b443") } },
    { $unwind: "$array" },
    { $group: { _id: null, value: { $max: "$array.value" } } }
]);

Utiliser le vrai nom de la collection au lieu de collection dans ces exemples.

Quelques informations sur l'utilisation de l'agrégation dans le pilote Java MongoDB :Pilote Java et framework d'agrégation .