问题标签 [loopbackjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
7516 浏览

javascript - 如何在 Strongloop 环回脚手架项目中覆盖基本用户?

给定一个使用以下内容创建的全新项目:

$ slc lb project myapp

如何用放置在目录中的“客户”模型替换“用户”模型?客户应具有登录/注销等方法,并且“用户”不应作为 API 存在。此外,客户模型不应该是动态的。让我们假设客户应该有一个如下模式:models.json./models

  • 姓名
  • 电子邮件
  • 密码
  • 问题
  • 回答
  • 电话
  • 已验证
  • 数据创建

我已经玩了几天了,我的 google-fu 让我失望了。任何帮助表示赞赏。谢谢。

0 投票
1 回答
543 浏览

strongloop - 可以挂钩 beforeUpdate/afterUpdate 修改值吗?

我有模型调用“点”,我想在每次操作更新时更新“更新”字段。所以,我做了钩子 boforeUpdate 来修改用 new Date() 更新。结果回调为真,更新的字段是新的日期时间。但未在 db 上更新,该字段仍然是旧的日期时间。我的代码:

0 投票
2 回答
6677 浏览

javascript - strongloop 环回发送电子邮件

我看到环回带有集成为节点模块的nodemailer。我尝试按照文档通过 angular-sdk 发送 hello world 邮件

http://apidocs.strongloop.com/loopback/#emailsendoptions-callback

但是,这里的文档并不具体。我尝试了以下方法:

这给了我这个错误,即使我有一个经过身份验证的用户实例。

我的问题是如何配置电子邮件模块以设置 SMTP 等。任何帮助将不胜感激。

谢谢斯文

0 投票
1 回答
3015 浏览

node.js - 如何使用 Loopback.io 设置 SMTP

如何使用 loopback.io mbaas 设置 SMTP 服务器?我已经浏览了所有文档,但我找不到它。如果有办法,如何在环回配置文件中提供/定义我的 smtp 服务器设置。

0 投票
1 回答
1513 浏览

javascript - 如何正确使用 MongoDB 进行 Strongloop 脚手架用户模型存储?

我是 Strongloop 的新手,也是 MongoDB 的新手。现在有这么多的学习曲线。

我的基本问题是我将用户模型(models.json)数据源从内存连接器切换到 loopback-connector-mongodb 连接器,并且在调用 /login 时不再获得 userId。我取回了一个访问令牌,但用户 ID 为空。如果我切换回内存连接器,我会得到一个 1 或其他的 userId。

好像我记得如果我不提供 ID,Strongloop 会在某个地方为我添加一个。这仅适用于内存数据存储吗?既然是 mongo,我需要做一些特别的事情吗?

我是否也需要将 accessToken 模型切换为 mongo (我只是想到了这个)?

谢谢。

0 投票
2 回答
706 浏览

javascript - 在 model-builder.js 中应用“getter”方法应该有问题

我正在尝试设置一些基本场景并使用 LoopBack 来找出它的实际灵活性和可用性水平。

其中之一是在处理来自数据库(例如 MySQL)的源数据期间,必须修改结果 JSON 对象中某些属性的值。

我正在使用以下版本:

strong-cli v2.5.5 (node v0.10.29) node-inspector v0.7.4 strong-build v0.1.0 strong-cluster-control v0.4.0 strong-registry v1.1.0 strong-supervisor v0.2.3 (strong-agent v0. 4.9, strong-cluster-control v0.4.0) loopback-datasource-juggler v1.6.2 loopback-connector-mysql v1.4.1

我尝试了所有方法,但看起来“getter”方法是以我不理解的方式应用的,或者存在错误。

为了描述这个问题,我使用了一个简单的表“city”(在 MySQL db 中):

并填写了一些简单的数据。

为了在 LoopBack 中定义模型,我使用了位于“models”目录中的文件“city.js”:

如您所见,“getter”方法是使用“City”对象在“city”模型上定义的。

当我尝试运行 LoopBack 然后通过 StrongLoop API Explorer 发送请求时:

控制台看起来像(包含 DEBUG=loopback:connector:* 的信息):

结果如下:

如您所见,“启用”属性最终由“getter”方法更改,但是:

  • 在 LoopBack 初始化期间,“getter”方法也被调用了 2 次
  • 在查询 MySQL 数据库之前,“getter”方法也被调用了 1x
  • 'getter' 方法中的 console.log(v) 总是返回 'undefined'

loopback-datasource-juggler 中“model-builder.js”的源代码(第 364 行)

是一个解释为什么。'call' 方法只有一个参数(this)代表被调用函数中的 'this' 对象,并且没有第二个参数代表被调用函数中的参数 'v'(与 Raymond Feng 关于How我要创建 getter 和 setter 覆盖吗?)。

问题还在于“getter”方法中的“this”始终表示一个包含模型所有属性的对象:

然后来自控制台的消息:

你能解释一下“getter”方法的当前实现的想法吗?

非常感谢。

米洛斯·拉皮斯 MLC

更新

非常感谢雷蒙德的回答。

一开始我以为是这样,但是当我使用类似的东西时:

当我请求时,节点立即崩溃:

出现错误: RangeError:超出最大调用堆栈大小

这就是为什么我认为您的实现有点不同。有什么不对?

我究竟应该使用什么来将“x”添加到从 db 检索到的实际值中?

谢谢。

米洛斯·拉皮斯 MLC

0 投票
1 回答
581 浏览

strongloop - mongodb belongsTo 外键为空

所以这个问题感觉很像我的上一个问题。Strongloop 让我觉得自己像个菜鸟。哈哈。

我从一些 LB 示例中偷了这个:

在资源管理器中,我看到了客户和订单端点。客户也有端点/customers/{id}/orders,订单有/orders/{id}/customer等等。到目前为止一切都很好。

我有这个客户添加:

当我发布订单时,我得到一个空的 customerId:

有什么想法我在这里做错了吗?

0 投票
4 回答
83 浏览

node.js - 遍历数组,异步更新/创建对象,当一切都完成后调用回调

我有一个问题,但我不知道如何解决这个问题。

我正在使用环回,但我想我迟早会在 mongodb 中遇到同样的问题。让我解释一下我在做什么:

  • 我从另一个 REST 服务获取条目,然后为我的 API 响应准备条目(条目尚未准备好,因为它们没有来自我的数据库的 id)
  • 在我发送响应之前,我想检查数据库中是否存在条目,如果不存在:
    • 如果有,则创建它(由 source_id 确定):
    • 使用它并将其更新到新版本
  • 发送带有条目的响应(条目现在具有分配给它们的数据库 ID)

这似乎没问题,并且易于实施,但据我所知还不是。我将尝试在代码中进一步解释:

注意:我遗漏了一些代码,但如果你通读它,我认为它是不言自明的。

所以我想遍历所有对象,在数据库中创建或更新它们,然后当所有对象都被更新/创建时,使用它们。我该怎么做?

0 投票
2 回答
411 浏览

javascript - 基于 User 的客户模型基于 userId 而不是 customerId 返回 FK 属性

与此相关:上一期

我定义了这个模型:

如果我什么都不做,我会得到所有我期望的额外用户端点(登录、注销、accessTokens 等)。但是我的登录结果给了我:

似乎 userId 应该是 customerId。我已经从 models.json 中删除了用户和 accessToken 模型。所以我什至不知道它从哪里获得关系信息,除非它是在某个地方烘焙的。无论如何,如果我尝试/customer/53c6f5d4769ed...在标题中调用并提供令牌,我会得到 401。从技术上讲,Id 是正确的,只是 FK 名称错误。

我试过像

我认为这改变了我的 FK 名称,但在调用后续端点时我仍然得到 401。

这是我自己到达的地方。所以我的问题实际上是这样的:

对我的 authN 使用代码优先而不使用“用户”模型如何连接 accessToken(也是代码优先)?扭曲将是我计划拥有多个身份验证模型(即客户、供应商、员工)。所以真正的问题是我如何连接它以允许每种类型的“用户”获得他们自己的访问令牌???

清如泥??;-)

0 投票
1 回答
628 浏览

javascript - 使用 LoopBack 作为 API 代理和响应重组

我必须从非 RESTful API 访问数据,并尝试构建一个新的 Web 服务来访问原始 API 并将其重新公开为 RESTful API。

我想使用LoopBack来实现这一点。

到目前为止,我有:

理想情况下,我想将其公开POST为通话中GET/api/debtors/{clientId}位置。clientIdPARAMETERNAMEmodel.create