上下文:在客户端上,修改了一个字段,并将该更改作为键路径值对传播到服务器。我从一个关键路径开始,比如foo.bar.baz
= cat
,我可以将其转换为{foo: {bar: {baz: "cat"}}}
,然后转换为merge
到我的文档中(可能看起来像{{1} }})。
到目前为止,这对所有对象都运行良好,但是当我需要使用数组执行某些操作时会崩溃。
假设我在RethinkDB中的文档如下所示:{foo: {bar: {baz: "dog"}}}
。用户决定更新宠物的名称,因此密钥路径看起来像{name: "Me", pets: [{name: "Shadow"}]}
= pets[0].name
。据我所知,这可以简单地(或非平凡地)转换成我可以传递给Sparky
的东西。或者可以吗?想法?
答案 0 :(得分:0)
你必须写一些像.update(function(row) { return {pets: row('pets').changeAt(0, row('pets')(0).merge({name: 'Sparky'}))};})
这样的东西。我建议改为pets
一个从名字到宠物的地图(或者来自"转换为字符串的数字"如果你真的想要索引,则为宠物)。