如何按数组数据字段中的元素过滤Meteor Collection?

时间:2016-12-20 19:39:53

标签: mongodb meteor

我目前正在设计一个类似于Gmail标签系统的系统。在我的“Messages”集合中,我有一个字段,其中包含一个数组,其中包含与当前Message关联的标签的ID,这些ID保存在不同的Collection中。某些Message的JSON数据如下所示:

{ 
    "_id" : "W9uCWJCqx8ozsbX6t",
    "name" : "Issue",
    // ... some more data fields ...
    "labels" : [ "R2syna2dnRdf4TDfC", "FHrjNbAT7Da2dRR5F" ] // IDs of labels in an array
}

我如何使用.find()方法的内容来搜索labels字段中包含特定标签ID的所有邮件?

1 个答案:

答案 0 :(得分:0)

您可以使用MongoDB的$elemMatch运算符。

示例查询:

Messages.find({labels : {$elemMatch : {$eq: id}}});

可以在docs

中找到更多用例