检查文档是否存在于不同的集合MongoDB Aggregation中

时间:2016-04-23 19:47:23

标签: mongodb data-modeling

当用户对投票进行投票时,我会在投票集合中插入新文档。

{
    _id: ObjectId(XXX),
    card: 11,
    user: 22
}

现在,当用户请求所有民意调查时,如果用户已经对投票进行了投票,那么我想返回Voted: 1字段,即投票集合中已有文档。

任何人都可以告诉我是否有办法在聚合命令中访问另一个集合中的文档。

1 个答案:

答案 0 :(得分:0)

使用mongoDB,无法访问查询中的多个文档。您应该更改数据模型并添加数组或使用嵌入的文档。

我对您的用例了解不多,所以请以此为例,而不是最终解决方案。

以下模型包含用于所有投票民意调查的数组。因此,您可以检查数组是否包含轮询,如果为true,则返回1。

{
    _id: ObjectId(XXX),
    user: 22,
    cards: [1, 3, 5]
}

有关mongoDB中数据建模的更多详细信息,请参阅https://docs.mongodb.org/manual/core/data-modeling-introduction/