我使用couch db来存储订阅文档。在执行查询时,我希望能够查询多个属性并使用" IN"条款。例如,我有一个subscriptionStatus
属性,它可以有多个值(Active,Failed,In_Progress等),订阅也有customerID
。
如何为所有订阅创建查询,其中customerID =" JD212S" AND subscriptionStatus IN [" Active"," In_Progress"]
基本上向我显示特定客户的有效和正在进行的订阅。 我查看了视图组合,多个键等,但我无法做到这一点(或者我误解了文档)。
我已经为此查看了一些Stack Overflow Q / A和CouchDB文档,但似乎一次只找到一个属性的选项。
答案 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 });