MongoDB 根据key:value 将单个对象转换为对象数组

MongoDB Convert sigle object to array of object based on key:value

有没有办法通过使用 mongodb 查询,将单个对象字段转换为基于 key:value 的对象数组?

之前

"fields" : {
    "field1" : 1,
    "field2" : true, 
    "field3" : false, 
    "field4" : "any string value"
}

之后

"fields" : [
    {
        "name" : "field1",
        "value": 1
    }, 
    {
        "name" : "field2", 
        "value" : true
    }, 
    {
        "name" : "field3",
        "value" : false
    }, 
    {
        "name" : "field4",
        "value" : "any string value" 
    }
]

您可以在聚合管道中使用 $objectToArray

db.collection.aggregate([
  {
    "$set": {
      "fields": {
        "$objectToArray": "$fields"
      }
    }
  }
])

示例here