2012-04-28 31 views
0

我想知道做什麼更好。我有一個拉回這樣的查詢:在查詢或客戶端的MongoDB數組搜索

Array 
(
[_id] => MongoId Object 
    (
     [$id] => 4eeedd9545c717620a000007 
    ) 
[field1] => ... 
[field2] => ... 
[field3] => ... 
[field4] => ... 
[field5] => ... 
[field6] => ... 

[votes] => Array 
    (
     [whoVoted] => Array 
      (
       [0] => 4f98930cb1445d0a7d000001 
       [1] => 4f98959cb1445d0a7d000002 
       [1] => 4f88730cb1445d0a7d000003 
      ) 

    ) 

) 

哪個會更快:

  1. 在1個查詢拉動將整個數組,並使用in_array()找到正確的ID?
  2. 從除投票之外的第一個查詢中提取所有內容,然後執行另一個mongodb查詢以查看該數組是否存在於該數組中?

回答

1

這取決於很多的,我建議你測試,但IMO大部分時間只是做2個querys它會更快因素

0

取決於正在返回/搜索的數組大小。

另外不同的服務器正在做這項工作,你的意思是更快?在什麼規模?

+0

現在數組是200,但我希望它跳起來更喜歡10,000。是的,在規模 – cKendrick 2012-04-30 18:12:31