mongodb中具有未知密钥的查询

mongodb中具有未知密钥的查询,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,我收集了以下文件: { map:{ key1:value1, key2:value2, .... } } 我只想根据map值过滤文档,而不考虑键,比如map.*等于某个值。有可能吗 使用的MongoDB版本是3.4您可以在下面使用和聚合运算符进行聚合 db.collection.aggregate([ { "$project": { "map": { "$objectToArray": "$map" }}}, { "$match":

我收集了以下文件:

{   
   map:{
     key1:value1,
     key2:value2, 
     ....
    }
}
我只想根据map值过滤文档,而不考虑键,比如map.*等于某个值。有可能吗


使用的MongoDB版本是3.4

您可以在下面使用和聚合运算符进行聚合

db.collection.aggregate([
  { "$project": { "map": { "$objectToArray": "$map" }}},
  { "$match": { "map.v": "value1" }},
  { "$project": { "map": { "$arrayToObject": "$map" }}}
])

您可以使用
$arrayToObject
objectToArray
聚合。类似于这样的
db.collection.aggregate([{$project:{$map:{$objectToArray:“$map”}}},{$match:{$map.v:“value1”},{$project:{$map:{$arrayToObject:“$map”}}])