Как сделать запросы $group и $match в jongo?
Я использую Jango с play-framework, ссылаясь на этот сайт http://jongo.org/. Мое требование что-то вроде ниже,
db.getCollection('collection').aggregate(
{
$match:
{$or:
[
{"taxonomy" :{ $regex:"Samsung"}},
{"tags" :{ $regex:"Samsung"}}
]
}
},
{
$group : { _id : "$questions",
"questions":{
"$addToSet": "$questions"
},
"ids": {
"$addToSet": "$id"
}
}
});
Где "таксономия" и "идентификаторы" - строковые поля, а "вопросы" и "теги" - поля массива.
Приведенный выше запрос прекрасно работает в оболочке mongo, но я изо всех сил пытаюсь реализовать то же самое в Java. Может кто-нибудь помочь мне разобраться в этом?
1 ответ
Вы можете попробовать ниже запрос.
collection.aggregate("{$match:{$or: [ {taxonomy :{ $regex:'Samsung'}}, {tags :{ $regex:'Samsung'}}]}}")
.and("{$group : { _id : '$questions',questions:{$first: '$questions'},ids: {$addToSet: '$id'}}}")
.as(Pojo.class);