如何在投影中使用$ regex

时间:2013-07-17 11:14:55

标签: mongodb pymongo

我的mongodb文档看起来像这样,

{'finance_pl': 
    {'S': 
        {
         '** 200903': {'reported_eps': '19.48'}, 
         '200806':  {'reported_eps': '18.8'}
        }
    }
}

** 200903 ==> 2009年03月

获取 reported_eps 的简单方法是

db.collection.find(
    {}, 
    {'finance_pl.S.200803.reported_eps':1}
)

但问题是我只有2008年或2009年的部分需要动态生成。

我需要这样的东西

db.collection.find(
    {}, 
    {'finance_pl.S.2008[0-9]{2}.reported_eps':1}
)

[0-9] {2} - > python正则表达式,匹配两位数。

我在文档和其他地方找到的所有示例都没有在投影部分使用$ regex。

我正在使用pymongo。我该怎么解决这个问题。

1 个答案:

答案 0 :(得分:1)

目前,您无法使用正则表达式或其他运算符在投影中使用动态字段名称。

我不确定是否有能力,我无法在JIRA上找到任何有意义的内容。

目前最好的方法是重新构建查询。