MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

mongoDB - średnia z wartości tablicy

Notacja pozycyjna w agregacji wydaje się nadal nieobsługiwana, sprawdź ten bilet .

Jak mówi @Sammaye, musisz najpierw rozwinąć tablicę lub zastąpić tablicę współrzędnych osadzonym lng /lat osadzony dokument, co sprawiłoby, że byłoby to trywialne.

Biorąc pod uwagę strukturę tablicy, możesz rozwinąć i wyświetlić szerokość/lng w następujący sposób:

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak określić preferencje odczytu w zapytaniach mongo Meteor

  2. findOne działa, ale nie pobierz wszystkiego/znajdź

  3. Operacje wypychania i ustawiania w tej samej aktualizacji MongoDB

  4. Mongoose — agregacja $dopasowanie na podstawie wartości wyliczenia

  5. Wybierz na podstawie znacznika czasu i zaktualizuj znacznik czasu z zerem