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

MongoDB:Mapreduce:snížit->vícenásobek zatím není podporován

Dokumentace říká "V současné době nemůže být návratovou hodnotou z funkce snížení pole (obvykle je to objekt nebo číslo)."

Takže místo toho vytvořte objekt a zabalte do něj své pole. Ujistěte se také, že výstup snížení je stejný jako typ vstupu, takže v operaci mapy budete muset zadat podobnou hodnotu.

ALE ... proč k tomu používat Map-Reduce? Pokud vygenerujete hodnotu _id, není co snižovat, protože každý klíč bude jedinečný. Proč prostě neopakovat kolekci, kopírovat hodnoty a aktualizovat každý záznam jeden po druhém?



  1. Problém s přesností času při porovnávání v ovladači mongodb v Go a případně v jiném jazyce a jiné databázi

  2. Jak MongoEngine zpracovává indexy (vytváření, aktualizace, odstraňování)?

  3. Jak seskupit podle více sloupců a více hodnot v mongodb

  4. 'upsert' ve vloženém dokumentu