【问题标题】:Getting a Document With Exactly the Same Keys获取具有完全相同键的文档
【发布时间】:2017-01-04 10:15:06
【问题描述】:

如果我的 coms 集合中有文档格式:

{
    "recipients": {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3",
    }
}

我想获取所有具有完全相同键的文档。换句话说,在上面的例子中,如果我查询“key1”、“key2”、“key3”,我会得到上面的文档。另一方面,如果我有以下文件:

{
    "recipients": {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3",
        "key4": "value4",
    }
}

查询“key1”、“key2”、“key3”应该什么都不返回。

【问题讨论】:

    标签: mongodb mongodb-query


    【解决方案1】:

    $exists 的快速解决方案:

    db.collection.find({
       "recipients.key1":{
          $exists:true
       },
       "recipients.key2":{
          $exists:true
       },
       "recipients.key3":{
          $exists:true
       },
       "recipients.key4":{
          $exists:false
       }
    })
    

    但这需要知道所有其他可能的键,而且写起来会很痛苦..

    【讨论】:

      猜你喜欢
      • 2011-02-22
      • 2021-05-24
      • 1970-01-01
      • 2015-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-12
      • 2019-05-14
      相关资源
      最近更新 更多