小编use*_*819的帖子

mongodb聚合,是否可以在$ project期间向数组添加条目

我有以下形式的文件:

{
    _id : ObjectId(.....),
    prop1 : "foo",
    links : [ 1, 2, 3, 4 ]
}

{
    _id : ObjectId(.....),
    prop1 : "bar",
    links : [ 5, 6, 7, 8 ]
}
Run Code Online (Sandbox Code Playgroud)

我使用聚合框架来处理这些文档,我使用$ unwind为links数组中的每个值生成一个文档.

但我有三种情况需要在调用$ unwind之前更新文档,我一直在查看$ project操作,但我找不到有关如何为以下情况创建或更新数组的信息.

1)缺少链接属性

{
    _id : ObjectId(.....),
    prop1 : "far"
}
Run Code Online (Sandbox Code Playgroud)

我需要插入链接数组

2)links数组属性是一个空数组

{
    _id : ObjectId(.....),
    prop1 : "far",
    links : []
}
Run Code Online (Sandbox Code Playgroud)

我需要在数组中插入一个值

3)links数组的值太少

{
    _id : ObjectId(.....),
    prop1 : "far",
    links : [ 9, 10 ]
}
Run Code Online (Sandbox Code Playgroud)

我需要在数组中插入其他值

mongodb aggregation-framework

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

标签 统计

aggregation-framework ×1

mongodb ×1