首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将minimongo集合中的所有项目相互比较

将minimongo集合中的所有项目相互比较
EN

Stack Overflow用户
提问于 2015-02-21 09:51:20
回答 1查看 80关注 0票数 0

我创建了一个本地的minimongo集合&我想将集合中的每一项与所有其他项(组合,而不是排列)进行比较。如果它是一个数组,它看起来就像这样:

代码语言:javascript
复制
for (var i = 0; i < coordCount - 1; i++) {
  for (var j = i + 1; j < coordCount; j++) {
    console.log(i,j);
  }
}

使用minimongo可以做到这一点吗?我的第一个想法是使用hasNext()next(),但它们并不存在。然后我想我可以对唯一的组合进行aggregate和分组,但这在客户机上也不存在。

EN

回答 1

Stack Overflow用户

发布于 2015-02-21 20:54:50

有一个Cursor.forEach()方法可以遍历您的集合,它可以引导您朝着正确的方向前进(参见此处:http://docs.meteor.com/#/full/foreach),但是在本例中,您需要更多的东西。也许这会有所帮助:

下面是forEach的工作原理:

代码语言:javascript
复制
// 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
});

这可能是一个解决方案(尽管不是很优雅,而且可能需要大量内存)

代码语言:javascript
复制
// 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]);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28641130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档