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

mongoDB - gennemsnit på matrixværdier

Positionel notation i aggregering ser ud til stadig ikke at være understøttet, tjek denne billet .

Som @Sammaye siger, skal du enten afvikle arrayet først eller erstatte dit koordinatarray med en indlejret lng /lat indlejret doc, hvilket ville gøre dette trivielt.

Givet array-strukturen, kan du slappe af og projicere lat/lng sådan her:

myColl.aggregate([
 // unwind the coordinates into separate docs
 {$unwind: "$myCoordinates"},

 // group back into single docs, projecting the first and last
 // coordinates as lng and lat, respectively
 {$group: {
   _id: "$_id",
   lng: {$first: "$myCoordinates"},
   lat: {$last: "$myCoordinates"}
 }},

 // then group as normal for the averaging
 {$group: {
   _id: 0,
   lngAvg: {$avg: "$lng"},
   latAvg: {$avg: "$lat"}
 }}
]);



  1. Hvordan hoster man et websted i NodeJS og MongoDB? Og hvad bliver prisen?

  2. Hvordan opdaterer man datofeltet i mongo-konsollen?

  3. Mongodb array $push og $pull

  4. Gem en funktion på server med Java - MongoDB