mongodb嵌入式对象搜索

时间:2012-01-23 16:20:25

标签: regex mongodb

我收到了这些文件:

  • 用户 - > id,name,friendList(_id,name),createdOn

我必须在朋友列表中搜索朋友,所以我得到的是:

$users->find(array('_id' => $userId, 'friendList.name' => new MongoRegex('/' . strtolower($keyword) . '/'), array('friendList.name')));

问题是它会返回所有好友列表名称,我怎样才能获得有关我试图搜索的“好友”的信息?

感谢您的帮助:)

2 个答案:

答案 0 :(得分:1)

你不能在mongo中执行此操作,可以搜索特定元素,但mongo将始终返回整个数组,因此您必须自己提取元素。

答案 1 :(得分:1)

请参阅此文档页面。 http://www.mongodb.org/display/DOCS/Retrieving+a+Subset+of+Fields#RetrievingaSubsetofFields-RetrievingaSubrangeofArrayElements

有多种方法可以检索数组的子集,但我不确定这会对你有所帮助。