我目前正在设计一个类似于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的所有邮件?
答案 0 :(得分:0)
您可以使用MongoDB的$elemMatch
运算符。
示例查询:
Messages.find({labels : {$elemMatch : {$eq: id}}});
可以在docs
中找到更多用例