Cloudant查询&;CouchDB Mango:如何设置$regex标志?
是否可以使用Cloudant查询/CouchDB 2.0查找设置$regex标志 具体来说,我想要一个不区分大小写的搜索和全局搜索也会很有用 在JavaScript中,我将执行以下操作:Cloudant查询&;CouchDB Mango:如何设置$regex标志?,couchdb,cloudant,Couchdb,Cloudant,是否可以使用Cloudant查询/CouchDB 2.0查找设置$regex标志 具体来说,我想要一个不区分大小写的搜索和全局搜索也会很有用 在JavaScript中,我将执行以下操作: db.find({ selector: { _id: {$gt: null}, series: {$regex: /mario/i} } }); 但我不知道如何将其编码为Erlang字符串。来自Cloudant支持: 我知道您希望在Cloudant查询中使用$reg
db.find({
selector: {
_id: {$gt: null},
series: {$regex: /mario/i}
}
});
但我不知道如何将其编码为Erlang字符串。来自Cloudant支持:
我知道您希望在Cloudant查询中使用$regex运算符进行不区分大小写的匹配
例如,您可以使用此Cloudant查询选择器获取所有文档,其中“series”字段具有字符串值,其中与字符串“mario”不区分大小写匹配:
在名为query.txt的文件中使用该选择器,并为$ACCOUNTNAME、$DATABASE、$USERNAME和$PASSWORD设置适当的值,您可以运行此查询以获得正确的结果:
curl -X POST http://$ACCOUNTNAME.cloudant.com/$DATABASE/_find -H
"Content-Type: application/json" -d @query.txt -u $USERNAME:$PASSWORD
Cloudant查询选择器中的$regex操作符的Cloudant API参考:
大多数选择器表达式的工作方式与您对
给定操作员。$regex运算符使用的匹配算法
当前基于Perl兼容的正则表达式(PCRE)
图书馆。但是,并非所有PCRE库都已实现,并且
$regex运营商的某些部分超出了PCRE提供的范围。对于
有关实现内容的更多信息,请参阅Erlang正则表达式
表达信息
在Erlang正则表达式中,它引用的信息是
在选项列表中:compile(Regexp,options)->{ok,MP}{error,ErrSpec}
无案例
- 模式中的字母同时匹配大写和小写字母
- 它相当于Perl的/i选项,可以通过(?i)选项设置在模式中更改它
- 大写和小写字母的定义与ISO-8859-1字符集中的定义相同
我希望这有帮助。使用Erlang正则表达式进行couchdb字符串匹配 例子: {“选择器”:{“\u id”:{“$regex”:“sre+”},“doctype”:“user”},“字段”:[“\u id”],“sort”:[{“\u id”:“asc”}]}注意:“(?m)”将进行多行搜索。这也可以与“i”标志结合使用。
curl -X POST http://$ACCOUNTNAME.cloudant.com/$DATABASE/_find -H
"Content-Type: application/json" -d @query.txt -u $USERNAME:$PASSWORD