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

Jak policzyć występowanie każdej wartości w tablicy?

Zapomniałeś nawiasów klamrowych na key wartość i musisz zakończyć tę linię za pomocą , zamiast ; .

db.issues.group({
    key: {"comments.username":true},
    initial: {sum:0},
    reduce: function(doc, prev) {prev.sum +=1},
});

AKTUALIZUJ

Po zrealizowaniu comments jest tablicą... musisz użyć aggregate w tym celu, abyś mógł 'odwinąć' comments a następnie pogrupuj na nim:

db.issues.aggregate(
    {$unwind: '$comments'},
    {$group: {_id: '$comments.username', sum: {$sum: 1}}}
);

Dla przykładowego dokumentu w pytaniu daje to:

{
  "result": [
    {
      "_id": "Brandon Black",
      "sum": 1
    },
    {
      "_id": "Nelson Elhage",
      "sum": 3
    }
  ],
  "ok": 1
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Połącz się z wieloma hostami mongo db i uwierzytelnij się przy użyciu innej bazy danych podczas wiosennego rozruchu

  2. jak zaktualizować zagnieżdżony obiekt dokumentu mangusty tylko dla dostarczonych kluczy

  3. brew install php56-mongo Polecenie Nie działa

  4. jak zapisać dataframe w mongodb za pomocą pyspark?

  5. Używając sterownika mongo C#, jak serializować tablicę obiektów niestandardowych w celu ich przechowywania?