MongoDB中的一组嵌套地图中的更新计数

时间:2019-01-29 05:56:20

标签: mongodb set counter upsert

我正在处理包含一组嵌套地图的文档模型。我想插入一个新文档并在每个地图内增加一个计数器。例如,考虑以下文档:

{
    "_id" : ObjectId("5c27e5c6d216f13ff82904e6"),
    "name": "documentA",
    "data": [
        {
            "keyX": "valueX"
            "count": 1
        },
        {
            "keyY": "valueY"
            "count": 1
        }
     ]
}

假设我要按名称添加此文档:

{
    "name": "documentA",
    "data": [
        {
            "keyY": "valueY"
            "count": 1
        },
        {
            "keyZ": "valueZ"
            "count": 3
        }
     ]
}

我希望结果是包含一组地图的文档,其中包含计数字段:

{
    "_id" : ObjectId("5c27e5c6d216f13ff82904e6"),
    "name": "documentA",
    "data": [
        {
            "keyX": "valueX"
            "count": 1
        },
        {
            "keyY": "valueY"
            "count": 2
        },
        {
            "keyZ": "valueZ"
            "count": 3
        }
     ]
}

聚合API是否属于这种情况?请注意,我是在Java中执行此操作,因此可以在事务中执行此应用程序端,但是是否有更快的数据库端操作?

0 个答案:

没有答案