我有一个使用CouchDB查询语法的cloudantDB实例。在较高的层次上,我的数据库中有一些包含ID值这样的文档
{
"id": "123-01"
},
{
"id": "123-02"
},
{
"id": "456-01"
},
{
"id": "789-01"
}
我想要实现的是查询id
字段以123
和456
而不是789
开头的所有文档。目前,我已经通过创建一个大型选择器来实现此目的,该选择器使用$or
运算符来匹配任何$regex
条件,例如:
{
selector: {
"$or": [{
"id": {
"$regex": "123"
}
},
"id": {
"$regex": "456"
}
]
}
}
某事告诉我,这不是获得此结果的正确方法。也许有人知道这样一种更有效的方法来查询数据库中的文档吗?
答案 0 :(得分:0)
如果只需要获取ID以特定前缀开头的文档,请考虑将_all_docs与"star": {"prefix": ":star","body": ["?"],"description": "star char"}
一起使用。那应该是一个更优雅,更高效的解决方案(而不是使用正则表达式)。