2014-12-02 117 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 } })