正则表达式代码,以避免一些字符串

时间:2017-12-12 18:34:33

标签: regex mongodb

我正在研究ipython和mongodb项目,我对正则表达式有问题。 简而言之,我在db

中有这样的文档
{ 'aa':'foo </FOO >' }

我的问题是regexcode应该只打印'foo'并避免'&lt;'/ FOO&gt; ?

到目前为止,我已经这样做了:

db.collection.aggregate([match, project, unwind])

此代码可以正常运行。但是,我想在文档中过滤一些字符串,所以我想添加

match2 = {"$match" : {"aa" : / regex code here/}}

然后,db.collection.aggregate([match, project, unwind, match2])

但它没有返回。如何解决?

1 个答案:

答案 0 :(得分:0)

MongoDB尚未在预测中支持System.String[]。有一个开放的JIRA票,可以在某个时候解决这个问题:

https://jira.mongodb.org/browse/SERVER-11947

所以你不能使用MongoDB从字段中提取字符串,除非你采用基于$substring的方法,当然,这种方法的功能稍弱一些。

但是,您可以过滤所有文档,只返回包含$regex的元素,如下所示:

"foo"

然后您可以使用一些客户端代码来提取匹配的部分,例如在JavaScript中:

match2 = {"$match" : {"aa" : /foo/}}
相关问题