使用多个键查询CouchDB以获取多个属性

时间:2015-02-03 10:36:24

标签: rest key views couchdb

我使用couch db来存储订阅文档。在执行查询时,我希望能够查询多个属性并使用" IN"条款。例如,我有一个subscriptionStatus属性,它可以有多个值(Active,Failed,In_Progress等),订阅也有customerID

如何为所有订阅创建查询,其中customerID =" JD212S" AND subscriptionStatus IN [" Active"," In_Progress"]

基本上向我显示特定客户的有效和正在进行的订阅。 我查看了视图组合,多个键等,但我无法做到这一点(或者我误解了文档)。

我已经为此查看了一些Stack Overflow Q / A和CouchDB文档,但似乎一次只找到一个属性的选项。

1 个答案:

答案 0 :(得分:5)

它确实看起来是重复的列表,但是在你的上下文中你会创建一个视图返回多个键,然后在执行该视图时,就像这里的链接所述,传递你的多键选项

// view foo/bar
var view = function(doc) {
   doc.emit([doc.customerId, doc.subscriptionStatus]);
}

db.view('foo/bar', { keys: [['JD212S','Active'], 
['JD212S','In_Progress']], include_docs: true });