我正在处理包含一组嵌套地图的文档模型。我想插入一个新文档并在每个地图内增加一个计数器。例如,考虑以下文档:
{
"_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中执行此操作,因此可以在事务中执行此应用程序端,但是是否有更快的数据库端操作?