0

我的 Couchbase 数据库中存储了以下文档:

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

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

现在我想列出所有documents_props包含final和的文档received。假设我需要这个用于final, received, sent。假设这些属性不是固定的(是自由文本),我能做些什么来促进这一点?

我目前的做法是在应用程序中获取所有内容并进行评估,但这将是一项非常艰巨的工作,因为数据库增长得非常快。

4

1 回答 1

0

您在这里要做的是创建一个包含所有“道具”的索引。要使用 Couchbase 创建索引,您必须创建一个视图;这个视图将类似于:

function (doc, meta) {
  if (doc.document_props) {
    for (i in doc.document_props ) {
      emit(doc.document_props[i]);
    }
  }
}

然后您可以使用正确的键调用视图,该键将是数组中的值。例如 :

&key="sent"

或 &keys=["sent","final"]

您可以使用适当的 SDK(Java、.Net、PHP、...不知道您使用的是哪一个)从您的应用程序调用视图

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

于 2013-07-31T12:43:15.350 回答