2012-01-16 18 views
0

我得到了這些文件:MongoDB的正則表達式嵌入式搜索

  • ID
  • 好友列表
    • ID

我需要尋找在php(mongodb)中爲朋友,所以在friendList中名稱。我怎樣才能做到這一點?

+0

好友列表爲{ID,名稱}對象的數組? – milan 2012-01-16 18:28:18

回答

3

在shell你會做這樣的:

> db.people.find({ "friendList.name" : /Joe/}) 

UPDATE:證明:

> db.person.insert({name : 'scatman', friendList : [ {name: 'joe'}, {name: 'nick'} ]}); 
> db.person.findOne() 
{ 
    "_id" : ObjectId("4f155cafef7b8b0317a8ad17"), 
    "name" : "scatman", 
    "friendList" : [ 
     { 
      "name" : "joe" 
     }, 
     { 
      "name" : "nick" 
     } 
    ] 
} 
> db.person.findOne({"friendList.name" : /jo/}) 
{ 
    "_id" : ObjectId("4f155cafef7b8b0317a8ad17"), 
    "name" : "scatman", 
    "friendList" : [ 
     { 
      "name" : "joe" 
     }, 
     { 
      "name" : "nick" 
     } 
    ] 
} 
> 
+0

不工作,這也是我試過的:S – randomKek 2012-01-16 18:49:13

+0

然後要麼是你正在使用的MongoDB中存在一個錯誤,要麼是你的代碼中存在一個錯誤,或者沒有人爲他的朋友提供Joe這個查詢工作得很好在MongoDB 2.0.1中。 – milan 2012-01-16 18:54:14

+0

發佈您的shell會話,讓我們看看爲什麼它不起作用 – milan 2012-01-17 11:36:29