微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

文档字段必须正则表达式匹配数组中的一项

如何解决文档字段必须正则表达式匹配数组中的一项

我有一个使用CouchDB查询语法的cloudantDB实例。在较高的层次上,我的数据库中有一些包含ID值这样的文档

{
  "id": "123-01"
},{
  "id": "123-02"
},{
  "id": "456-01"
},{
  "id": "789-01"
}

我想要实现的是查询id字段以123456而不是789开头的所有文档。目前,我已经通过创建一个大型选择器来实现此目的,该选择器使用$or运算符来匹配任何$regex条件,例如:

{
  selector: {
    "$or": [{
      "id": {
        "$regex": "123"
      }
    },"id": {
        "$regex": "456"
      }
    ]

  }
}

某事告诉我,这不是获得此结果的正确方法。也许有人知道这样一种更有效的方法查询数据库中的文档吗?

解决方法

如果只需要获取ID以特定前缀开头的文档,请考虑将_all_docs"star": {"prefix": ":star","body": ["?"],"description": "star char"} 一起使用。那应该是一个更优雅,更高效的解决方案(而不是使用正则表达式)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。