如何查询字符串字段包含一个数组项?

时间:2018-02-12 06:47:31

标签: python mongodb mongodb-query

我有这样的文件:

{
name: '...'
}

我想查询名称中包含以下内容之一的文档:

cities = ['a', 'b', 'c']

当然,检查这样的完全匹配很容易:

col_areas = db['areas']
col_areas.find({'name': {'$in': cities}}) 

我希望对每个城市项目使用$regex。怎么做?

我也尝试过:

for c in cities:
    cities_query.append('/^%s/' % c)

results = col_areas.find({'name': {'$in': cities_query}})

1 个答案:

答案 0 :(得分:0)

也许有更好的方法。 样品

db.col_areas.aggregate([
    {
        $project: {
            'name': 1
        }
    },
    {
        $match: {
            $or:
                [{ 'name': { $regex: 'a', $options: 'g' } }]
        }
    }
])

自己定制。

相关问题