无法将MongoDB更新查询转换为Spring Boot

时间:2019-07-02 20:27:19

标签: java mongodb spring-boot mongodb-query

在我的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的信息。谁能引导我走正确的道路?

0 个答案:

没有答案