在 couchbase 中更新子文档的最佳方法是什么?我正在讨论嵌套的 json 文档。简单的字段可以使用类似的语法轻松更新,set name = 'Jon Doe'
但是嵌套的 json 文档呢。我已经阅读了官方文档中的所有页面,但所有页面都使用了一个称为keys
或path
json 路径的阶段。
因此,对于像 org.adddress.city.name 这样的复杂嵌套 json,如何从 json 动态或以编程方式查找路径。考虑一个 6-7 级深度的嵌套 json 。它几乎看不到,但它呢。
couchbase 中的子文档更新意味着更新整个文档的一部分或一部分,或者更新可以嵌套的简单字段。
我的方法是找到一个合并 Json 补丁,它将给我更新哪个 json 字段,然后如果该补丁包含嵌套字段,
"address": {
"city": {
"id": "25",
"name": "Atlanta"
}
}
然后使用 mutate_in 函数在 Couchbase 中更新它,我需要那些路径是address.city.id
和address.city.name
。即使在 N1QL 查询中更新文档,我也需要生成我相信的那些路径。
我一直在尝试使用递归函数从 json 生成这些路径,因为你不知道下一个会走多远。这是要点。
我想知道是否有任何其他方式不生成更新复杂子文档的路径。