我正在研究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])
但它没有返回。如何解决?
答案 0 :(得分:0)
MongoDB尚未在预测中支持System.String[]
。有一个开放的JIRA票,可以在某个时候解决这个问题:
https://jira.mongodb.org/browse/SERVER-11947
所以你不能使用MongoDB从字段中提取字符串,除非你采用基于$substring的方法,当然,这种方法的功能稍弱一些。
但是,您可以过滤所有文档,只返回包含$regex
的元素,如下所示:
"foo"
然后您可以使用一些客户端代码来提取匹配的部分,例如在JavaScript中:
match2 = {"$match" : {"aa" : /foo/}}