In der Arbeit mit Meteor.js und Mongo verwende ich die Suche ({einige Argumente}) und manchmal ({einige Argumente}). Fetch(), um Cursor und ein Array von passenden Dokumenten jeweils zurückzugeben.Wie manipuliert zurückgegeben Mongo Sammlungen/Cursor in Javascript (meteor.js)?
Was ist der wahre Unterschied zwischen den beiden? (Wann würde ich eins gegen das andere verwenden?)
Was ist der richtige Weg, um über diese Art von zurückgegebenen Objekten zu manipulieren/iterieren?
z. Ich habe eine Sammlung, die viele Dokumente mit einem Titelfeld hat.
Mein Ziel war es, ein Array aller Titelfelder Werte z. [Doc1title, doc2title, doc3title]
Ich tat dies:
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);
}
oder das Äquivalent in Coffeescript
names = Entries.find({}).fetch()
listTitles = []
for i in names
listTitles.push(i.title)
, die funktioniert, aber ich habe keine Ahnung, wenn ihr die richtige Art und Weise oder sogar eine halbwegs vernünftig.
Danke für den Link zu den Meteor Docs. Als eine Randnotiz, warum oh warum erfanden sie den Namen fetch() zum Erstellen eines Arrays von einem Cursor, wenn es in normalen Mongo zu Array() aufgerufen wird. Es dauerte eine Weile, bis ich herausfand, dass ich keinen normalen Mongo-Cursor, sondern eine Meteorvariante besaß. – Godsmith