sql >> Database >  >> NoSQL >> MongoDB

mongoDB - gemiddelde op matrixwaarden

Positionele notatie in aggregatie lijkt nog steeds niet te worden ondersteund, bekijk dit ticket .

Zoals @Sammaye zegt, moet je de array eerst afwikkelen of je coördinatenarray vervangen door een ingesloten lng /lat ingebed document, wat dit triviaal zou maken.

Gezien de arraystructuur zou je de lat/lng als volgt kunnen afwikkelen en projecteren:

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. Mongo Atlas:verbindingsverificatie mislukt met aangepaste databases

  2. CouchDB/Couchbase/MongoDB transactie-emulatie?

  3. HBase Clusters Gegevenssynchronisatie met HashTable/SyncTable-tool

  4. Een document toewijzen met een gedeeltelijk gedefinieerd schema