用mongodb在javascript中创build一个多数组的数组

我在我的mongodb中有这个结构

{ category:['A','B'], info:....., } { category:['A','F','T'], info:....., } { category:['A','C'], info:....., } { category:['D','B'], info:....., } 

我必须查询所有类别,

 var db = mongo.db(read+"@127.0.0.1:27017/database",{safe:false}); db.collection('comercio').find({},{_id:0,'category.$':1},function(err, result_array) 

第一个问题,有什么办法可以得到所有的类? 另一个aproach而不是我的?

第二个问题….

我必须做一个数组,包含所有类别,但不重复任何类别…在这个例子中,我必须做一个数组,包含这…

 all_categories=['A','B','C','D','F','T']; 

再次感谢你们

您必须对此查询使用Aggregation框架,如下所示:

db.comercio.aggregate({$ unwind:“$ category”});

放松后,你可以使用其他聚合(例如组)来获得你所需要的。

您不需要聚合框架来获取不同类别的数组。

只使用不同的 :

 > db.comercio.distinct("category"); ["A","B","C","D","F","T"]