首页 > 解决方案 > MongoDB如何使用基于另一个字段的相同键从同一集合中获取文档

问题描述

我有一个集合,它使用 ID 和手机号码作为 eventId 注册事件。它看起来像这样:

{
    "eventId": "12345"
    "data": {
      "city": "florida"
    }
},
{
    "eventId": "12345"
    "data": {
      "cellphone": "5555555"
    }
},
{
    "eventId": "5555555"
    "data": {
      "message": "hello Daniel, how are you?"
    }
},
{
    "eventId": "98765"
    "data": {
      "city": "new york"
    }
}

我需要找到 eventId 为 12345 的文档以及 eventId 为 5555555 的文档,因为我需要知道用户 12345 发送了哪些消息,但是我只能这样做:

{$or: [ { eventId: "12345 " }, { eventId: "5555555 " } ] }

我需要能够通过两个 eventId 进行查询,将手机号码作为另一个 eventId 进行查询,而无需对其进行硬编码。

标签: mongodb

解决方案


推荐阅读