是否可以存储数组
var a=[
{"id":"1", "value":null},
{"id":"2", "value":null},
{"id":"3", "value":null},
{"id":"4", "value":null},
{"id":"5", "value":null}
];
在具有文档ID
的couchbase membase中如果确定,是否有办法获得一个元素,例如
{"id":"2", "value":null}
并添加/删除一个元素,例如
{"id":"6", "value":null}
欢迎评论
答案 0 :(得分:1)
是否可以存储数组
是的,你只需要序列化它
添加/删除一个元素
不,您需要通过id请求所有文档,将其反序列化为数组,删除元素,序列化数组和更新文档。
答案 1 :(得分:0)
作为替代而不是使用JSON,可以使用二进制格式。这将允许使用追加操作。在这种情况下,对于删除,您可以附加前缀为减号的id。
例如,数据可能如下所示:
id:"1",value:"null"
id:"2",value:"null"
-id:"1"
在某些时候,你将不得不抓住整个文件并且"清洁"它可以阻止它不受限制地增长。如果删除操作是不太可能的情况,则可能值得抓取整个文档并删除id而不是附加减号。
正适合
费用
在处理非常大的物体时,这些成本只会超过成本。