0
我有以下格式JSON文档Couchbase视图“WHERE”子句动态
Name :
Class :
City :
Type :
Age :
Level :
Mother :
Father :
我有这样
function(doc,meta)
{
emit([doc.Name,doc.Age,doc.Type,doc.Level],null);
}
什么我可以做一个地图功能是给“名”和过滤掉所有的结果,但我也想做的只是给“年龄”,并过滤出来。对于该couchbase不提供功能来跳过“名称”键。所以我必须创建一个新的地图函数,它具有“年龄”作为第一个关键字,但是我也必须仅查询“Level”关键字,所以像这样。我将不得不为每个字段创建很多映射函数,这显然是不可行的,除了创建新的映射函数来实现这种类型的功能外,还有什么可以做的吗? 我不能用n1ql,因为我有1.5亿个文件,所以需要很多时间。
我的错误我在我的文章中写了不正确的标题功能。反正多个发射不会解决我的问题,因为假设我有两个发射像这样发出(doc.age,null)emit(doc.level,null);现在我将1值传递给键以过滤所有年龄为1的文档。但它也会给我具有1级的文档。因此,当两个字段具有相同的值时,多个发射无法帮助 –
您可以在它之前附加字符串,如: 'function(doc,meta)if(meta.type ==“json”){ emit(“name_”+ doc.name,null); emit(“age_”+ doc.age,null); } }' –
什么是我的json文档格式?像这样 '“name”:“name_legendary”' –