【发布时间】:2018-10-25 14:12:38
【问题描述】:
结构:
"entity": [
{
"_id": {
"$oid": "5bbf6e6d69a634eeb5a32a0e"
},
"Extension Id": "PR00027173",
"Files": [
{
"Locale": "en_WW",
"FileExtension": "ai",
"Number": []
},
{
"Locale": "sv_SE",
"Type": "Technical drawing",
"FileExtension": "eps",
"Number": []
}
]
},
{
"_id": {
"$oid": "5bbf6e6d69a634eeb5a32b7c"
},
"Extension Id": "PR00027174",
"Files": [
{
"Locale": "en_WW",
"FileExtension": "ai",
"Number": []
},
{
"Locale": "sv_SE",
"Type": "Technical drawing",
"FileExtension": "eps",
"Number": []
}
]
}
]
我想在我的文件字段中的每个数组元素中添加计算字段(数字),并将其值设置为来自同一元素的其他字段,即类型。 我已经尝试使用聚合框架,但每次设置值时,它都会从整个数组中获取所有值,即:
"Files": [
{
"Locale": "en_WW",
"FileExtension": "ai",
"Number": [
"ai",
"eps"
]
},
{
"Locale": "sv_SE",
"Type": "Technical drawing",
"FileExtension": "eps",
"Number": [
"ai",
"eps"
]
}
]
是否可以将新字段编号值设置为即 FileExtension 但仅来自同一元素而不是整个数组? 这就是我的总体预测的样子:
["projection"]=> array(1) {
["Files.Number"]=>
string(29) "$Files.FileExtension"}}
【问题讨论】:
标签: php mongodb aggregation-framework mongodb-php