用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"]