更新数组中每个子文档中的值

时间:2016-09-06 16:29:34

标签: mongodb database-design

我需要存储用户对多个屏幕项目的显示顺序的偏好,但我不知道如何轻松记录。

我在mongodb中有这个集合

{
    "userId": "1",
    "applications":[
        {
            "appName": "Vacation System",
            "appUrl":"http://localhost:8080/app",
            "appIcon":"https://lh3.ggpht.com/HlefFaVW39Vbv1q5pm1bOxX7FcOuZDWv0TH1reLUFxhXTi-Eah0CEJvS5Mv3DYRv8mk=w300",
            "key":1,
            "sort":1
        },
        {
            "appName": "inventory System",
            "appUrl":"http://localhost:8080/app",
            "appIcon":"https://lh3.googleusercontent.com/aMoTzec746RIY9GFOKMjipqBShsKos_KxeDtS59tRp4-ePCpGqW2bS-ySyUEL6q3gkA=w300",
            "key":2,
            "sort":2
        },
        {
            "appName": "HR System",
            "appUrl":"http://localhost:8080/app",
            "appIcon":"https://www.sleepio.com/img/logos/sleepio-s-logo-full.png",
            "key":3,
            "sort":3
        }
    ]
}

我使用此数据渲染网格视图,以便用户可以拖动每个视图,更改其位置,并根据需要对其进行排序;但是每次移动时我都要更改每个视图的排序值,这个视图位于每个子文档的应用程序数组中。

我正在考虑制作一个新的obj并通过新的obj改变这个系列,但不知道如何做到这一点。

或者我还在考虑制作一个排序值数组[3, 2, 1],并更新现有集合中应用程序数组中每个子文档的排序值,但我再也不知道了。知道如何。

0 个答案:

没有答案