选择哪个属性具有两个给定值的文档

时间:2013-07-26 17:06:43

标签: mapreduce couchbase couchbase-view

我的Couchbase DB中存储了以下文档:

{
  name:'first document',
  document_props:['final','received','sent']
}

{
  name:'second document',
  document_props:['final','sent']
}

现在,我要列出documents_propsfinalreceived的所有文档。假设我需要finalreceivedsent。假设这些属性没有修复(自由文本),我该怎么做才能促进这个?

我当前的目的是获取所有内容并在应用程序内进行评估,但由于数据库增长非常快,这将是非常艰苦的工作。

1 个答案:

答案 0 :(得分:0)

你在这里要做的是创建一个包含所有“道具”的索引。要使用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,... dunno,您正在使用的那个)从您的应用程序调用该视图。

更多观点: - http://www.couchbase.com/docs/couchbase-manual-2.1.0/couchbase-views.html