MongoDB数组在查询或客户端搜索

时间:2012-04-28 23:01:12

标签: php 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查询以查看该数组中是否存在该ID?

2 个答案:

答案 0 :(得分:1)

它取决于我建议你测试的很多因素,但IMO大部分时间只做2个查询会更快

答案 1 :(得分:0)

取决于要返回/搜索的数组的大小。

同样不同的服务器正在做这项工作,你的意思更快?在什么规模?