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 中没有脏状态跟踪,没有。您需要手动跟踪这些更改。
我从 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 中没有脏状态跟踪,没有。您需要手动跟踪这些更改。