【问题标题】:Can we use spring data repository to update embedded documents in mongodb我们可以使用spring数据存储库来更新mongodb中的嵌入文档吗
【发布时间】:2019-01-23 03:53:55
【问题描述】:

我们可以使用spring数据存储库来更新mongodb中的嵌入文档

    {
    "_id" : 1000,
    "user_id" : "001",
    "events" : [
            {
                    "handled" : 1,
                    "profile" : 10,
                    "data" : "....."
            }
            {
                    "handled" : 1,
                    "profile" : 10,
                    "data" : "....."
            }
            {
                    "handled" : 1,
                    "profile" : 20,
                    "data" : "....."
            }
            ...
       ]
}

我想将句柄更新为 10,其中 events.profile 为 10。 我知道如何使用 mongoTemplate,但我需要知道如何使用 mongoRepository。谢谢

【问题讨论】:

    标签: mongodb spring-boot spring-data spring-data-mongodb


    【解决方案1】:

    据我了解,您想使用更新方法创建存储库吗?在我对 spring-data 参考的研究期间,它找不到任何提示,即这是由 spring 数据支持的。

    因此,在您的情况下,您可以创建一个类似“Collection findByEvents_Profile(Integer id)”的查询,遍历该集合并通过调用存储库“saveAll”方法再次将其持久化。

    【讨论】:

    • 感谢马丁的回复。我知道这个解决方法。我问了这个问题以了解 spring data jpa 是否支持嵌入式文档更新。如果没有,那么我希望它会在未来的某个时候出现。
    • 我同意上面的答案。但还有一件事:如果这是嵌入式文档,这意味着对象(集合)中的一个对象~>问题与更新和带有 Mongo 存储库的对象相同,只需 1 次调用。所以 Mkyong 确实有一个例子(只是为了解决问题)-mkyong.com/spring-data/…-正如 Mongorepository Github 中提出的问题:github.com/RobThree/MongoRepository/issues/41 他们不在这里做:|
    猜你喜欢
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 2016-12-18
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多