我正在评估将Loopback4用于一个新项目。我研究了教程和文档,并且必须进行一些测试。其中之一与执行本机mongodb查询的功能有关。
我发现了很多与Loopback v3相关的示例,但是由于结构差异很大(与Lb4相比),因此它们并不可靠。当然,我想保持由Lb4设计的模型/存储库/数据源之间的分离,我想保留这种类型。 是否有人试图做同样的事情? 每一个帮助将不胜感激 非常感谢
答案 0 :(得分:0)
恐怕LoopBack 4没有用于执行原始MongoDB查询的任何易于使用的API。我们正在column roles中讨论此功能。
在我们实现一流的支持之前,您可以直接调用MongoDB连接器的execute
方法,如下所示:
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);
});
});