arrays - 将对象转换为数组 mongoDB
问题描述
文档 1:需要将对象转换为数组。我必须迭代键和值的每个元素,如何将对象转换为数组。
{
"Data":{
"A" :{
"name" : alpha,
"Score" : 199
},
"B" :{
"name" : Beta,
"Score" : 122
}
}
}
预期输出:
{
"name" :[
alpha,
Beta
],
"score": [
199,
122
]
}
解决方案
您可以使用 mongo 聚合框架来实现这一点。
[
{
"$addFields": {
"Data": {
"$objectToArray": "$Data"
}
}
},
{
$unwind: "$Data"
},
{
"$group": {
"_id": "_id",
"name": {
$push: "$Data.v.name"
},
"score": {
$push: "$Data.v.Score"
},
}
}
]
推荐阅读
- asp.net-mvc - auth0 回调 url 不存在
- python - 使用 Python 将 .dat 转换为 .mat
- python - 为什么 Flask 将这个变量作为 unicode 而不是作为数组接收?
- python - 如何指定 Tkinter 正确的标签?
- reactjs - 用不同的键映射一个 React 组件
- ios - 如何确保 SceneKit 相机始终指向特定位置
- typescript - Typescript:将类作为对象传递时调用构造函数
- laravel-backpack - 自定义密码哈希
- swift - 在 Swift 中创建自定义 CodingKey 对象
- perl - 使用 Perl 将空字符串替换为空格