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

MongoDB Map/Reduce Array pytanie o agregację

  1. "Chunking" pochodzi z twojego kodu:parametr value funkcji zmniejszania może zawierać albo {time:<timestamp>,value:<value>} emitowane z funkcji mapy lub {time:[<timestamps>],value:[<values]} zwrócone z poprzedniego wywołania funkcji Reduce.

  2. Nie wiem, czy zdarzy się to w praktyce, ale może się zdarzyć w teorii.

  3. Po prostu spraw, aby funkcja mapy emitowała ten sam rodzaj obiektów, które zwraca funkcja redukcji, tj. emit(<id>, {time: [ts], value: [P[1]]}) i odpowiednio zmień funkcję redukcji, np. Array.push.apply(result.time, V.time) i podobnie dla result.value .

    Cóż, właściwie nie rozumiem, dlaczego nie używasz tablicy par czas/wartość zamiast pary tablic, tj. emit(<id>, { pairs: [ {time: ts, value: P[1] ] }) lub emit(<id>, { pairs: [ [ts, P[1]] ] }) w funkcji map i Array.push.apply(result.pairs, V.pairs) w funkcji redukcji. W ten sposób nie będziesz nawet potrzebował funkcji finalize (może z wyjątkiem "rozpakowania" tablicy z par właściwość:ponieważ funkcja Reduce nie może zwrócić tablicy, musisz ją w ten sposób opakować w obiekt)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak w MongoDb zastosować wewnętrzne pola sortowania obecne w dokumencie?

  2. dostęp do asocjacji ember js backend nodejs mongoose

  3. Dlaczego złącze Spark Mongo nie wypycha filtrów?

  4. Wyrażenie MongoDB do zapytania tablicy poddokumentów

  5. Zalecany sposób na usunięcie obiektu w MongoDB na podstawie trasy