有一个 Cursor.forEach() 方法可以遍历您的集合,这可能会导致正确的方向(请参见此处:http ://docs.meteor.com/#/full/foreach ),但在您的情况下,您需要更多. 也许这会有所帮助:
这就是 forEach 的工作原理:
// sort your cursor to get always reproducable results
var items = Items.find({}, {sort: {someprop: 1}});
var count = Items.count();
items.forEach(function (item, idx, cursor) {
// item is your document
// idx is a 0 based index
// cursor is the.. cursor
...
// break if idx >= count - 1
});
这可能是一个解决方案(虽然不是很优雅并且可能会占用大量内存)
// sort your cursor to get always reproducable results
var items = Items.find({}, {sort: {someprop: 1}}).fetch();
_.each(items, function (item, idx) {
// item is your document
// idx is a 0 based index
if (idx >= items.length - 1) {
return;
}
yourCompareMethod(item, items[idx + 1]);
});