2012-04-28 53 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