为了测试couchbase,我需要创建一个servlet,在1.000个json文档行中编辑“flag:false”到“flag:true”。我怎么能做到?
我的观点是,找到行为“flag”:false的文档:
function (doc, meta) {
if (meta.type == "json" && doc.flag == false) {
emit(doc.flag, null);
}
}
我的servlet,打印结果:
doGet(....
View view = client.getView("des1", "flag");
Query query = new Query();
query.setIncludeDocs(true);
ViewResponse result = client.query(view, query);
for(ViewRow row : result) {
resp.getWriter().println(row.getId());
}
对不起,我的英语不好)
1条答案
按热度按时间igetnqfo1#
不能直接编辑json文档中的字段。您必须做的是检索要更新的文档(您已经从视图中获取了这些文档),将它们转换为java对象,编辑“flag”属性,将java对象序列化回json,并用新文档替换文档。您可以使用gson来处理java对象和json之间的转换。