在我的mongo数据库中,我有以下文档:
{
"_id" : ObjectId("5d1a08d2329a3c1374f176df"),
"associateID" : "1234567",
"associatePreferences" : [
{
"type" : "NOTIFICATION",
"serviceCode" : "service-code",
"eventCode" : "test-template",
"preferences" : [
"TEXT",
"EMAIL"
]
},
{
"type" : "URGENT_NOTIFICATION",
"serviceCode" : "service-code",
"eventCode" : "test-template",
"preferences" : [
"TEXT"
]
}
]
}
我试图根据给定类型,serviceCode和eventCode将新元素添加到首选项数组。我能够在mongo中编写此查询,如下所示:
db.user_communication_preferences.update(
{'associateID':'testassociate'},
{$addToSet:{'associatePreferences.$[element].preferences':"UPDATE"}},
{arrayFilters:[
{'element.serviceCode':'service-code',
'element.eventCode':'test-template',
'element.type':'NOTIFICATION'
}
]}
)
我正在尝试将此查询转换为Java Spring Boot应用程序。我在这里看到了一些有关执行此操作的信息,但没有看到任何包含arrayFilters的信息。谁能引导我走正确的道路?