2014-12-02 77 views
0

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

回答

1

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

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

由于一吨意志。这工作完美。 – iceman 2014-12-02 09:37:09

-1

简单你$regex下面的查询找到将工作而不会聚集

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