【发布时间】:2014-12-08 05:06:52
【问题描述】:
如何检索存在于同一文档的两个不同数组中的元素。
例如。在 Posts 集合中,文档具有“interestbycreator”和“interestbyreader”字段。每个字段都包含用户 ID。
'interestbycreator': //an array of ids here. IdA, idB, IdC, IdD, IdE,
'interestbyreader': //an array of ids here. IdB, idE, iDF
基本上我希望找到两个数组中存在的所有 id,所以应该是 IdB 和 IdE。
我可以从带有下划线的数组中提取所有值并将它们存储在一个变量中。它们可以通过这种方式相互比较并返回重复项吗?或者有人可以阐明另一种解决方案。
从 'interestbyreader 检索所有 Id 的示例
var interestbypostcreater = Posts.find({_id: Meteor.user().profile.postcreated[0]}, {fields: {interestbyreader: 1}}).fetch();
var interestedReaderIds = _.chain(interestbypostcreator).pluck('interestbyreader').flatten().value();
假设我将另一个数组 'interestbycreator' 存储在一个名为 interestIdcreator 的变量中,是否可以比较它们以查找重复项并返回这些重复项?
【问题讨论】:
-
您考虑过使用
_.intersection吗? underscorejs.org/#intersection -
感谢您指出这一点。
标签: javascript arrays meteor underscore.js