MongoDB吗非亚。只更新新字段,不更新旧字段

MongoDB Morphia. Update only new fields but not old fields

我从 Json 得到这样的回复

{
    "id":"1090",
    "title" : "My User",
    "description" : "First User",
    "country" : "US",
    "state" : "FL",
    "city" : "Miam"
    "auth" : "Scott"
}

我需要编写一个仅更新已更改字段的更新。

如果更新后的 JSON 看起来像

{
    "id":"1090",
    "title" : "New User",
    "description" : "First User",
    "country" : "US",
    "state" : "Texas",
    "city" : "Dallas"
    "auth" : "Scott"}

我可以用下面的方法实现

Blog blogDB=datastore.find(Blog.class, "blog_ID", blog.getBlog_ID()).get();
Query<Blog> query = datastore.createQuery(Blog.class).field("_id").equal(blogDB.getId()); //Find the object that is in database

UpdateOperations<Blog> ops = datastore.createUpdateOperations(Blog.class).set("title", blog.getcountry()).set("country", blog.getcity()).set("city", ....

datastore.update(query, ops);

我不想编写如上所示的 UpdateOperations。有没有更有效的方法?

Morphia 中没有脏状态跟踪,没有。您需要手动跟踪这些更改。