sql >> Databáze >  >> NoSQL >> MongoDB

Dotaz na pole vnořených dokumentů na nejvyšší hodnotu pole

Můžete také vyzkoušet moderní přístup – rámec agregace :

1) Najít maximální hodnotu pole pro všechny prvky v kolekci:

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

2) Najděte maximální hodnotu pole pro zadaný prvek:

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

Místo collection použijte skutečný název sbírky v těchto příkladech.

Některé informace o tom, jak používat agregaci v ovladači Java MongoDB:Java Driver and Agregation Framework .



  1. Změňte tvar všech dokumentů ve sbírce

  2. MongoDB $aggregate $push více polí v Java Spring Data

  3. Mongodb - regex shoda klíčů pro vnořené dokumenty

  4. Sharding MongoDB, jak se vyrovnává při přidávání nových uzlů?