mongodb - MongoDB 基于键:值将单个对象转换为对象数组
问题描述
有没有办法通过使用 mongodb 查询,将单个对象字段转换为对象数组但基于键:值?
前
"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"
}
}
}
])
这里的例子
推荐阅读
- azure - 整个逻辑应用工作流运行被标记为“失败”,因为操作失败,即使相关操作成功
- android - 将 google_analytics_adid_collection_enabled 元数据标签添加到 Cordova AndroidManifest.xml
- c# - CORS 的 ASP.NET Web API 和 IdentityServer 问题
- python - 回合制游戏,需要一种方法在另一回合中获得功能的回报
- testing - 有没有办法查看选择器捕获的实际 HTML 元素?
- javascript - How to create a guided tour in Rails with gem 'intros-rails'
- r - 嵌套 for 循环以查找行进距离
- python - 配置 ruamel.yaml 以允许重复键
- python - 将列表变成字典
- c# - 由于未实施 SSL 加密,无法连接到 SQL Server 数据库