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

Mapa Zmniejsz z mongo na zagnieżdżonym dokumencie

Przykłady Mongo map-reduce można znaleźć tutaj:http://docs. mongodb.org/manual/tutorial/map-reduce-examples/

Liczba dokumentów dla każdej niepowtarzalnej krotki country_id, city_id i region_id jest prosta:

> function m() { 
    for(var i in this.cities) {     
         emit({country_id:this.country_id, 
               city_id:this.cities[i].city_id,
               region_id:this.regions.region_id}, 
              1); 
    } }



> function r(id,docs) {
      return Array.sum(docs);
}
> db.loc.mapReduce(m,r,{out:"map_reduce_out"})
{
    "result" : "map_reduce_out",
    "timeMillis" : 5,
    "counts" : {
        "input" : 1,
        "emit" : 6,
        "reduce" : 0,
        "output" : 6
    },
    "ok" : 1,
}
> db.map_reduce_out.find()
{ "_id" : { "country_id" : 328, "city_id" : 817, "region_id" : 796 }, "value" : 1 }
{ "_id" : { "country_id" : 328, "city_id" : 18851, "region_id" : 796 }, "value" : 1 }
{ "_id" : { "country_id" : 328, "city_id" : 19398, "region_id" : 796 }, "value" : 1 }
{ "_id" : { "country_id" : 328, "city_id" : 31022, "region_id" : 796 }, "value" : 1 }
{ "_id" : { "country_id" : 328, "city_id" : 31101, "region_id" : 796 }, "value" : 1 }
{ "_id" : { "country_id" : 328, "city_id" : 31102, "region_id" : 796 }, "value" : 1 }


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Scala — Utwórz obiekt IndexedDatasetSpark

  2. Jak obsługiwać wywołania zwrotne w pętli for (Node.JS)

  3. Node.js i Mongodb - TypeError:undefined nie jest funkcją

  4. Sterownik Mongodb C# - nie można używać uwierzytelniania administratora w celu uzyskania dostępu do innych baz danych

  5. Aktualizacja podpola w dokumencie mongoDB za pomocą findOne i zapisz