的MongoDB:搜索在阵列
问题描述:
我有一个外地在MongoDB的集合,如:{ place = ['London','Paris','New York'] }
我需要一个查询,将只返回数组,其中一个特定的字符出现的那个特定的条目。例如,我想搜索其中包含字母'o'(不区分大小写)的术语。它应该返回'伦敦'和'纽约'。我试过db.cities.find({"place":/o/i})
,但它返回整个数组。的MongoDB:搜索在阵列
答
您需要使用聚合查询$unwind
,然后匹配。
db.cities.aggregate([ { $unwind:'$place' }, { $match: { place : {$regex: /o/i } } } ])
答
简单你$regex
下面的查询找到将工作而不会聚集
db.collectionName.find({ place : {$regex: /o/i } })
由于一吨意志。这工作完美。 – iceman 2014-12-02 09:37:09