Mongodb 获取具有完全相同密钥的文档

Mongodb 获取具有完全相同密钥的文档,mongodb,mongodb-query,Mongodb,Mongodb Query,如果我的coms集合中有文档格式: { "recipients": { "key1": "value1", "key2": "value2", "key3": "value3", } } 我想得到所有具有完全相同密钥的文档。换句话说,在上面的例子中,如果我查询“key1”、“key2”、“key3”,我会得到上面的文档。另一方面,如果我有以下文件: { "recipients": { "key1": "va

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

{
    "recipients": {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3",
    }
}
我想得到所有具有完全相同密钥的文档。换句话说,在上面的例子中,如果我查询“key1”、“key2”、“key3”,我会得到上面的文档。另一方面,如果我有以下文件:

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

查询“key1”、“key2”、“key3”时不应返回任何内容。

存在一个带有$的快速解决方案:

db.collection.find({
   "recipients.key1":{
      $exists:true
   },
   "recipients.key2":{
      $exists:true
   },
   "recipients.key3":{
      $exists:true
   },
   "recipients.key4":{
      $exists:false
   }
})
但这需要知道所有其他可能的键,而且写起来会很痛苦