如果我有一个像“Update(JsonObject body)”这样的调用,并且目的是获取现有文档并更新一些文档但不是全部,那么它是如何工作的?
{
_id: "12345",
name: "my name",
email: "me@here.org",
privatefield: "secret data"
}
如果上面是当前存储的文档,并且更新只允许包含“姓名”和“电子邮件”,那怎么办?
body = {
_id: "12345",
name: "my name",
email: "me@here.org"
}
static public void Update(JsonObject body){
Gson gs = new GsonBuilder().create();
MyModel m = gs.fromJson(body, MyModel.class);
// this call erases "privatefield" from the document
m.Save();
}
如果我使用 Gson().fromJson(...) 调用,则创建的对象缺少私有字段值。现在我需要手动合并它们。如果更新后的电子邮件值故意为空怎么办?合并是如何工作的?
我觉得我需要手动映射所有这些看起来很反游戏的东西。