Боюсь, LoopBack 4 не имеет простого в использовании API для выполнения необработанных запросов MongoDB.Мы обсуждаем эту функцию в выпуске GitHub # 2807 .
Пока мы не реализуем первоклассную поддержку, вы можете напрямую вызывать метод execute
коннектора MongoDB следующим образом:
const repo = // obtain the repository instance, e.g. via @inject()
const result = await new Promise((resolve, reject) => {
repo.dataSource.connector.execute(
'LoanRequestMappings', // collection name
'aggregate', // command to execute
// additional arguments
[
{
$lookup:{
// ...
}
},
{ $unwind:"$data" },
{
$match:{
// ...
}
},
{
$lookup:{
// ...
}
},
{ $unwind:"$LoanRepayment" },
{ $project : { _id: 0} },
{ $out : "tempData" }
],
(err, data) => {
if (err) reject(err);
else resolve(data);
});
});