Mapreduce 选择具有两个给定值的属性的文档
我的Couchbase数据库中存储了以下文档:Mapreduce 选择具有两个给定值的属性的文档,mapreduce,couchbase,couchbase-view,Mapreduce,Couchbase,Couchbase View,我的Couchbase数据库中存储了以下文档: { name:'first document', document_props:['final','received','sent'] } { name:'second document', document_props:['final','sent'] } 现在我想列出documents\u props具有final和接收的所有文档。假设我需要它作为最终版,接收版,发送版。假设这些属性不是固定的(是自由文本),我能做些什么来促
{
name:'first document',
document_props:['final','received','sent']
}
{
name:'second document',
document_props:['final','sent']
}
现在我想列出documents\u props
具有final
和接收的所有文档。假设我需要它作为最终版
,接收版
,发送版
。假设这些属性不是固定的(是自由文本),我能做些什么来促进这一点
我目前的想法是在应用程序中获取所有数据并进行评估,但这将是一项非常艰巨的工作,因为数据库的增长速度非常快。这里需要做的是创建一个包含所有“道具”的索引。要使用Couchbase创建索引,您必须创建一个视图;此视图类似于:
function (doc, meta) {
if (doc.document_props) {
for (i in doc.document_props ) {
emit(doc.document_props[i]);
}
}
}
然后,您可以使用数组中的值来调用视图。例如:
&key="sent"
或
&键=[“已发送”,“最终”]
您可以使用适当的SDK(Java、.Net、PHP等)从应用程序调用视图,不知道您使用的是哪一个SDK
更多意见:
-我明白了,但在这种情况下,我不能只得到一个接收的和最终的对吗?