MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Interroga l'array di documenti nidificati per il valore più alto del campo

Puoi anche provare un approccio moderno:framework di aggregazione :

1) Trova il "valore" massimo dell'array per tutti gli elementi nella raccolta:

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

2) Trova l'array massimo 'valore' per l'elemento specificato:

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

Usa il vero nome della collezione invece di collection in questi esempi.

Alcune informazioni su come utilizzare l'aggregazione nel driver MongoDB Java:Driver Java e framework di aggregazione .