LoopBack 4 中的高级 MongoDB 运算符



是否可以在Loopback 4应用程序中使用高级MongoDB运算符,例如数组更新运算符?

来自 LoopBack 团队👋的你好

我们还没有对执行自定义MongoDB运算符的一流支持。

我看到两种可能的解决方案:

  • 将此类更新命令作为自定义命令执行。不幸的是,这并不像我希望的那样简单,请参阅 GitHub 问题 loopback-next#3342 了解更多详情。当前的解决方法是调用连接器的execute方法,并手动将其从回调样式转换为异步/承诺样式。

    基于 https://github.com/strongloop/loopback-next/issues/2807#issuecomment-487590905 的示例代码:

    const repo = // obtain the repository instance, e.g. via @inject()
    const result = await new Promise((resolve, reject) => {
    repo.dataSource.connector.execute('MyCollection', 'update', {
    $push: {
    tags: ['new tag'] 
    }
    ],
    (err, data) => {
    if (err) reject(err);
    else resolve(data);
    });
    });
    
  • 增强 LoopBack 的Repository实现,以允许 MongoDB 更新补丁数据中的运算符。LoopBack 3 已经支持此功能,但我们尚未在 LoopBack 4 中公开它。你能打开一个新的 GitHub 问题吗?

最新更新