MongoDB Group Array Значение существует Проверить - PullRequest
2 голосов
/ 31 октября 2011

У меня есть записи, похожие на

[Title] => test - Title - 33
[readedBy] => Array (0 => 5999,
                     1 => 85343
)
[clickedBy] => Array (
)
[deletedBy] => Array (
)

И я хочу проверить в моей функции уменьшения GROUP

function (obj, prev) { 
        obj.readedBy.forEach(function (doc){
            if(doc == 800){
                prev.status1.push(obj); 
            }else{
                prev.status2.push(obj);
            }
        }); 
    }

Если в массиве Relevan есть мой идентификатор, чтобы отправить его вправильный массив состояния.Foreach не является решением, потому что этот массив ID растет> 100k.Есть ли хороший способ?Или это решение мусора?

1 Ответ

1 голос
/ 26 ноября 2011

Пока что вы используете mongodb map / lower из того, что я собрал, большую часть времени, когда вы используете map limit, вы будете страдать от процесса O (n), что означает, что вы в конечном итоге будете выполнять .forEach () на ваших результирующих наборах. Они становятся быстрее, когда вы добавляете узлы. когда вы осколите свои коллекции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...