Couchbase - 更新文档中的对象
Couchbase - updating object inside a document
如果我有以下文件为例:
{
“制造”:“宝马”,
“make1”:“奥迪”
}
当我执行 UPDATE 查询 UPDATE Translations SET make2
= “MERCEDES” WHERE META().id = “CARS” 时,查询没有问题,make2 被添加到文档中。
当我执行 UPDATE 查询 UPDATE Translations SET make2
.MODEL
= “CLS”, make2
.MODIFICATION
= “500” WHERE META()。 id = "CARS"
查询 returns “成功”,但没有添加任何内容。如果 make2 已经存在,一切都按预期更新,只有当对象不存在时才会出现问题。
如果父 属性 是 JSON 对象,则只能更新嵌套属性。如果父属性设置为字符串,更新将不会成功,与您所说的相反。
这会起作用:
UPDATE Translations USE KEYS "CARS"
SET make2 = {};
UPDATE Translations USE KEYS "CARS"
SET make2.MODEL = "CLS", d.make7.MODIFICATION = "500";
或者您可以在一行中执行此操作:
UPDATE Translations USE KEYS "CARS"
SET make2 = {}, make2.MODEL = "CLS", d.make7.MODIFICATION = "500";
如果我有以下文件为例: { “制造”:“宝马”, “make1”:“奥迪” }
当我执行 UPDATE 查询 UPDATE Translations SET make2
= “MERCEDES” WHERE META().id = “CARS” 时,查询没有问题,make2 被添加到文档中。
当我执行 UPDATE 查询 UPDATE Translations SET make2
.MODEL
= “CLS”, make2
.MODIFICATION
= “500” WHERE META()。 id = "CARS"
查询 returns “成功”,但没有添加任何内容。如果 make2 已经存在,一切都按预期更新,只有当对象不存在时才会出现问题。
如果父 属性 是 JSON 对象,则只能更新嵌套属性。如果父属性设置为字符串,更新将不会成功,与您所说的相反。
这会起作用:
UPDATE Translations USE KEYS "CARS"
SET make2 = {};
UPDATE Translations USE KEYS "CARS"
SET make2.MODEL = "CLS", d.make7.MODIFICATION = "500";
或者您可以在一行中执行此操作:
UPDATE Translations USE KEYS "CARS"
SET make2 = {}, make2.MODEL = "CLS", d.make7.MODIFICATION = "500";