我有这样的文件:
{
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}})
答案 0 :(得分:0)
也许有更好的方法。 样品
db.col_areas.aggregate([
{
$project: {
'name': 1
}
},
{
$match: {
$or:
[{ 'name': { $regex: 'a', $options: 'g' } }]
}
}
])
自己定制。