Czy można uzyskać dostęp do indeksu tablicy podczas rozwijania tablicy (http://docs.mongodb.org/manual/reference/operator/aggregation/unwind/#pipe._S_unwind) przy użyciu potoku agregacji MongoDB?Jak wyświetlać indeks tablicy po rozwinięciu tablicy za pomocą struktury agregacji MongoDB
Na przykład załóżmy, że mam odwijania ten dokument w kolekcji "C":
{_id: 1, elements: ["a", "b", "c"]}
czym ta operacja:
db.c.aggregate([
{$unwind: "$elements"}
])
powróci kursor do dokumentów:
[
{_id: 1, elements: "a"},
{_id: 1, elements: "b"},
{_id: 1, elements: "c"}
]
Chciałabym móc dowiedzieć się czegoś więcej "a" ma indeks 0, "b" ma indeks 1, a "c" ma indeks "2" w oryginalnej tablicy przed rozwinięciem.
Jak mogę wyświetlić indeks tablicy w operacji rozwijania?
Dziękujemy! Odniosłem wrażenie, że nie było to możliwe, ponieważ widziałem teraz przykłady i nie znalazłem żadnego operatora, który by zaprojektował indeks. Ale nie znalazłem jeszcze tego raportu o problemie. Dzięki! –
Nie ma za co. Kombinacja operatorów '$ let' i' $ map' może zbliżyć nas do wartości manipulowanych projektem, ale ze względu na ograniczenia zakresu nie można uzyskać przyrostowego indeksowania. – BatScream
Jestem świadomy, że przy pomocy mapy/zmniejszenia można zrobić praktycznie wszystko w granicach mapy/zmniejszyć implementację. Jedną rzeczą, która mnie zastanawia jest to, jak zapewnić, by wynik mapy nie był zbyt duży. W odniesieniu do problemu, który sobie stawiam, myślę, że sprawa JIRA proponuje rozsądny sposób projekcji indeksu. Do tej pory mam dość stromą krzywą uczenia się, aby przetestować MongoDB. –