我的Couchbase DB中存储了以下文档:
{
name:'first document',
document_props:['final','received','sent']
}
{
name:'second document',
document_props:['final','sent']
}
现在我想列出documents_props
具有final
和received
的所有文档。假设final
、received
、sent
需要这个。假设这些属性不是固定的(是自由文本),我能做些什么来促进这一点?
不过,我目前的工作是在应用程序中获取所有数据并进行评估,但这将是一项非常艰巨的工作,因为数据库增长非常快。
这里要做的是创建一个包含所有"道具"的索引。要使用Couchbase创建索引,您必须创建一个视图;该视图将类似于:
function (doc, meta) {
if (doc.document_props) {
for (i in doc.document_props ) {
emit(doc.document_props[i]);
}
}
}
然后,您可以使用适当的键来调用视图,该键将是数组中的值。例如:
&key="sent"
或&keys=["已发送","最终"]
您可以使用适当的SDK(Java、.Net、PHP……不知道您使用的是哪一个)从应用程序调用视图
更多视图:-http://www.couchbase.com/docs/couchbase-manual-2.1.0/couchbase-views.html