小编use*_*151的帖子

MongoDB聚合框架 - 动态字段重命名

我发现mongodb聚合框架非常强大 - 它似乎是一个很好的选择来展平对象.我的模式在名为materials的数组中使用了一个子对象数组.材料的数量是可变的,但特定的字段(类别)在数组中的对象之间是唯一的.我想使用聚合框架来展平结构,并根据类别字段的值动态重命名字段.我找不到一个简单的方法来实现这个使用$项目和$ cond.有办法吗?

物质对象数组的原因是允许简单搜索:

例如{'materials.name':'XYZ'}拉回找到XYZ的任何文件.

例如文件之前和之后

{
"_id" : ObjectId("123456"),
"materials" : [
    {
        "name" : "XYZ",
        "type" : "Red",
        ...
        "category" : "A"
    },
    {
        "name" : "ZYX",
        "type" : "Blue",
        ...
        "category" : "B"
    }]
}
Run Code Online (Sandbox Code Playgroud)

{
"material_A_name" : "XYZ",
"material_A_type" : "Red",
...
"material_B_name" : "ZYX",
"material_B_type" : "Blue",
...
}
Run Code Online (Sandbox Code Playgroud)

mongodb mongodb-query

6
推荐指数
1
解决办法
1749
查看次数

标签 统计

mongodb ×1

mongodb-query ×1