我在MongoDB Collection中有一个字段,如:
{
place = ['London','Paris','New York']
}
我需要一个只返回数组的特定条目的查询,其中出现特定字符。例如,我想搜索其中包含字母“o”(不区分大小写)的术语。它应该回归'伦敦'和'纽约'
我尝试了db.cities.find({"place":/o/i})
,但它返回整个数组。
答案 0 :(得分:2)
您需要$unwind
使用聚合查询,然后匹配。
db.cities.aggregate([ { $unwind:'$place' }, { $match: { place : {$regex: /o/i } } } ])
答案 1 :(得分:-1)
简单地说,您在$regex
下面找到查询将无法使用聚合
db.collectionName.find({ place : {$regex: /o/i } })