MongoDB:在数组中搜索

时间:2014-12-02 06:56:06

标签: mongodb mongodb-query

我在MongoDB Collection中有一个字段,如:
{ place = ['London','Paris','New York'] } 我需要一个只返回数组的特定条目的查询,其中出现特定字符。例如,我想搜索其中包含字母“o”(不区分大小写)的术语。它应该回归'伦敦'和'纽约' 我尝试了db.cities.find({"place":/o/i}),但它返回整个数组。

2 个答案:

答案 0 :(得分:2)

您需要$unwind使用聚合查询,然后匹配。

db.cities.aggregate([ { $unwind:'$place' }, { $match: { place : {$regex: /o/i } } } ])

答案 1 :(得分:-1)

简单地说,您在$regex下面找到查询将无法使用聚合

db.collectionName.find({ place : {$regex: /o/i } })