我对mongodb很新,我遇到了一个简单(或没有)的问题:
我有一系列标记产品,如下所示:
{ "_id": "1", "tags": { "shape" : [ "shape1","shape2" ], "color": [ "col1","col2" ] },
{ "_id": "2", "tags": { "shape" : [ "shape3","shape4" ], "color": [ "col3","col4" ] },
{ "_id": "3", "tags": { "otherCategory" : [ "value1" ], "color": [ "col5","col6" ] }
我想从此集合中选择所有不同的类别,并得到以下结果:
[ "shape", "OtherCategory" ]
我怎样才能实现这一点?现在似乎我唯一的选择就是找到所有标签并在java客户端中手动解析它......看起来很糟糕; - )
我从java spring客户端查询mongodb。
感谢您的帮助。
答案 0 :(得分:1)
好的,所以我最终得到了重构我的模型:如果没有像Konstantin那样做一些Map / reduce,对文档内容进行查询似乎并不容易。
为了解决这个问题,我创建了一个新的类别集合,以便我可以轻松地选择它们。插入产品时会填充此集合。