如何比较mongo中两个数组的大小?

时间:2013-08-30 14:53:07

标签: mongodb

我有两个字段,其中包含可比数据的单独数组。

第一个有一个名字和一个ID。第二个有昵称。

我想确保两者的数量相同。如果它们不相同,我想知道该文档的mongoID。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

使用MapReduce就可以了。如果您的文档如下:

document: { array1: [ a, b], array2: [c] }

您可以编写mapreduce函数,例如:

map = function(){ 
   if(this.array1.length!=this.array2.length)
     emit(this_id,1);
}

reduce = function(key,values){ return key;}

例如,要将结果内联:

db.foo.mapReduce(map,reduce,{out:{inline:1}}).results