MongoDB组数组值存在检查

时间:2011-10-31 10:21:43

标签: php arrays mongodb

我的条目看起来像

[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阵列中有我的ID,则将其推送到正确的状态阵列。 Foreach不是解决方案,因为ID阵列增长> 100k。 有好办法吗?或者是解决方案垃圾?

1 个答案:

答案 0 :(得分:1)

到目前为止,使用mongodb map / reduce从我收集的内容中,大多数情况下当你使用map reduce时你会遇到O(n)进程,这意味着你最终会做.forEach()在你的结果集上。添加节点时,它们会变得更快。当你收集你的收藏品时。