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

mongoDB - průměr hodnot pole

Zdá se, že poziční zápis v agregaci stále není podporován, prohlédněte si tento lístek .

Jak říká @Sammaye, musíte nejprve pole rozvinout, nebo nahradit pole souřadnic vloženým lng /lat embedded doc, díky čemuž by to bylo triviální.

Vzhledem ke struktuře pole můžete rozvinout a promítnout zeměpisnou šířku/lng takto:

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. Jak vybrat pouze odpovídající dílčí dokument mongodb pomocí pythonu

  2. Jak najít náhodné záznamy v mongodb

  3. Nelze se ověřit do mongo, ověření se nezdařilo

  4. Mongo agregované vnořené pole