W pracy z Meteor.js i Mongo używam find ({niektóre argumenty}) i czasami znajduję ({niektóre argumenty}) .fetch(), aby zwracać odpowiednio kursory i tablicę pasujących dokumentów.jak manipulować zwróconymi kolekcjami Mongo/kursorami w javascript (meteor.js)?
Jaka jest prawdziwa różnica między tymi dwoma elementami? (kiedy chciałbym użyć jednego w porównaniu do drugiego?)
Jaki jest właściwy sposób manipulowania/iteracji nad tymi typami zwracanych obiektów?
E.g. Mam kolekcję, która ma wiele dokumentów, każdy z pola tytułu.
Moim celem było uzyskanie tablicy wszystkich wartości pól tytułu, np. [Doc1title, doc2title, doc3title]
Zrobiłem to:
var i, listTitles, names, _i, _len;
names = Entries.find({}).fetch();
listTitles = [];
for (_i = 0, _len = names.length; _i < _len; _i++) {
i = names[_i];
listTitles.push(i.title);
}
lub równowartość w coffeescript
names = Entries.find({}).fetch()
listTitles = []
for i in names
listTitles.push(i.title)
który działa, ale nie mam pojęcia, czy jego właściwy sposób lub nawet na wpół rozsądny sposób.
Dzięki za link do meteor docs. Na marginesie, dlaczego oh, dlaczego wymyślili nazwę fetch() do tworzenia tablicy od kursora, gdy jest wywoływana doArray() w normalnym Mongo. Zajęło mi sporo czasu, zanim zorientowałem się, że nie mam normalnego kursora Mongo, ale zamiast tego wariantu meteorytów. – Godsmith