sql >> Database >  >> NoSQL >> MongoDB

Query uitvoeren op matrix van geneste documenten voor hoogste waarde van veld

Je kunt ook een moderne benadering proberen - aggregatieraamwerk :

1) Vind maximale array 'waarde' voor alle elementen in collectie:

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

2) Vind maximale array 'waarde' voor gespecificeerd element:

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

Gebruik echte collectienaam in plaats van collection in deze voorbeelden.

Enige informatie over het gebruik van aggregatie in het Java MongoDB-stuurprogramma:Java Driver en Aggregation Framework .



  1. Mongo-query-uitvoer afdrukken naar een bestand terwijl deze zich in de mongo-shell bevindt

  2. Mongoïde zoekopdracht op waarde of standaardwaarde

  3. Mongoose verwijdert (pull) een document binnen een array, werkt niet met ObjectID

  4. Een alleen-lezen verbinding maken met pymongo