MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

mongoDB - rata-rata pada nilai array

Notasi posisi dalam agregasi tampaknya masih tidak didukung, lihat tiket ini .

Seperti yang dikatakan @Sammaye, Anda harus melepaskan array terlebih dahulu, atau mengganti array koordinat Anda dengan lng yang disematkan /lat tertanam doc, yang akan membuat ini sepele.

Mengingat struktur array, Anda dapat bersantai dan memproyeksikan lat/lng seperti ini:

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. Perlu menjumlahkan dari nilai objek array di mongodb

  2. Agregasi Mongo :$group dan $project array ke objek untuk penghitungan

  3. Permintaan baris perintah dalam Java

  4. Menulis tes untuk API RESTful Python Eve terhadap MongoDB asli

  5. Basis Data MongoDb vs Koleksi