Mam dokument, który jest ustawienie tak:MongoDB znaleźć wewnątrz sub tablicy
{
_id : ObjectId(),
info : [
[
1399583281000,
20.13
],
[
1399583282000,
20.13
],
[
1399583283000,
20.13
],
[
1399583285000,
20.13
],
[
1399583286000,
20.13
]
]
}
Dane te mogą być rozłożone w wielu dokumentach. Ogólnie każdy dokument zawiera dane w informacji przez 59 okresów (w sekundach).
Co chcę zrobić, to uzyskać wszystkie dane informacyjne, w których znacznik czasu jest większy niż określony czas.
Jakieś pomysły, jak to zrobić?
Dziękuję
EDIT:
Tak, znalazłem, że to wydaje się powrót wszystkich dokumentów:
db.infos.find({
info:{
$elemMatch:{
0:{
$gt:1399583306000
}
}
}
})
Ale może muszę to wykorzystać w zapytaniu kruszywa ? aby zwrócić tylko wszystkie wartości?
To jest świetne! Jedną z rzeczy, którą odkryłem jest oddzielenie przez '_id', to nie jedna duża tablica zawierająca tablice. – dzm
@dave "Separator" jest według wartości, której używasz w polu '_id' instrukcji' $ group', więc jest to, co chcesz, lub 'null' dla wszystkiego w kolekcji. Ale wydawało mi się, że po przefiltrowaniu tego dokumentu. Użyj jak chcesz. –
Rozumiem, mogę po prostu 'null'' _id', perfect. Dziękuję Ci! – dzm