2013-01-10 18 views
5

Powiedz, że mam kolekcję z obiektami takimi jak ta, gdzie właściwość ts zawiera znacznik czasu Unix.Struktura agregacji - Konwersja znacznika czasu Unix na ISODate

{ 
    "_id" : ObjectId("50ef1e0f1e816a74ad835a5a"), 
    "ts" : 1357851660 
} 

Czy istnieje sposób przekonwertować pole ts do ISODate użyciu ramy Aggregation, więc mogę używać daty operatorów ($ DAYOFYEAR, $ DzieńMiesiąca, ...)?

+0

Nie wierzę, że struktura agregacji rzuciła bankomat – Sammaye

+0

Dobre pytanie. Mogę myśleć tylko o zrobieniu tego z MapReduce, ale to jest jak strzelanie do pchły. – mjhm

+1

Odpowiedziałem na to w powiązanym pytaniu StackOverflow: http://stackoverflow.com/a/27828951/572077 – Astral

Odpowiedz

5

Wszystkie informacje i testy, które mogłem ustalić, wskazują, że nie jest to możliwe od MongoDB 2.2.2. Jest to dość łatwe do wdrożenia przy użyciu mapy/zmniejszenia.

Oznaczenie odpowiedzi jako tej wydaje się być najlepszą dostępną obecnie dostępną odpowiedzią, ale chcę ją przejrzeć w przyszłości, jeśli nowa funkcja zostanie dodana do MongoDB, aby to wspierać, lub jeśli ktoś wymyśli coś dobrego. obejście.

+0

jaka jest Twoja mapa, aby zmniejszyć algo, jeśli nie masz nic przeciwko –

Powiązane problemy