Поиск агрегации драйвера Mongo-Scala с конвейером - PullRequest
0 голосов
/ 15 октября 2018

Я хочу реализовать агрегацию с использованием новой функции поиска с использованием конвейера с драйвером mongo-scala версии 2.30.

Стадия агрегации MongoQuery, которую я пытаюсь реализовать:

$lookup: {
    from: "user",
    let: { recipeId: "$_id" },
    pipeline:[
        { $match:
            { $expr: 
                { $in: ["$$recipeId", "$licenses.recipe"] }
            }                
        }
    ],
    as: "users"
}

Myтекущий рабочий этап:

val let = Seq(Variable("recipeId", "$_id"))    
val theMatch = Document.apply("""{$match:{$expr:{ $in: ["$$recipeId", "$licenses.recipe"] }}}""").toBsonDocument
val pipeline = Seq(theMatch)
val theLookup = lookup("user", let, pipeline, "users")

val aggr = Seq(
  ...,
  theLookup)

Хотя это работает, я уверен, что есть лучший способ использовать поставляемую библиотеку драйверов и лучше реализовать метод перебора Document.apply, который я использовал, например, для theMatch .

Предложения приветствуются.

...