sql >> Databasteknik >  >> NoSQL >> MongoDB

Fråga array av kapslade dokument för högsta värde på fältet

Du kan också prova ett modernt tillvägagångssätt - aggregationsramverk :

1) Hitta maximalt array-'värde' för alla element i samlingen:

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

2) Hitta maximalt array 'värde' för angivet element:

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

Använd riktig samlingsnamn istället för collection i dessa exempel.

Lite information om hur man använder aggregering i Java MongoDB-drivrutinen:Java Driver and Aggregation Framework .



  1. få alla dokument som har maxvärde med aggregering i mongodb

  2. Ladda upp data till Meteor / Mongo DB

  3. MongoDB-kontakt för PHP:räkna dokument för paginering

  4. Hur returnerar jag ObjectId eller _id för ett dokument i MongoDB? och felet $in behöver en array