如何在 Loopback 的 JSON 响应中公开 User.id

How to expose User.id in JSON response from Loopback

我有一个简单的用例,我似乎一辈子都弄不明白:

我有一个基于 Loopback "User" 模型的模型 "Employee"。我的假设是 "Employee" 的 "id" 与 "User".

相同

为了将 Employee/User.id 传递给 Angular.js 路由,我需要在 RESTful 我的 Loopback API 的响应。知道在哪里或如何做吗?

到目前为止,Employee.id 使用字符串 "objectid" 进行分析——当我执行 Employee.find() 时,这当然不会给我正确的用户。

User.id 由 LoopBack 开箱即用地提供。您可以通过添加虚拟用户(通过 boot script)然后浏览到 localhost:3000/explorer 来检查对 User 对象的任何 GET 请求的输出来对此进行测试。

因此,在对 Mongodb 数据库中的实际数据进行更彻底的审查后,发现 User 和 Employee 表中的“_id”总是填充有 "objectid"。这让我更仔细地审视我的模型。我将它们与我的 loopback-angular-admin's models--specifically their custom "user" model. What I noticed was that I had '"idInjection": true' 进行了比较,而 loopback-angular-admin 项目则没有。所以,我删除了这个 属性 和 VOILA: BSON/valid ObjectIds!

我的模型是用 'slc loopback:model' 生成的。此命令行似乎将“"idInjection":true”属性 添加到它生成的模型中。我不知道为什么这个特定的 属性 会对 Mongodb 造成问题,但我原来问题的根源已经解决了。