【问题标题】:loopback firebase connector环回 Firebase 连接器
【发布时间】:2019-04-07 10:35:54
【问题描述】:

这里是第一个实际问题。

我正在做一个环回项目。 我成功地从 MongoDB 迁移到 Firebase。 用 loopback firestore 连接器交换 loopback mongoDB 连接器,运行一些 POST 方法,工作正常,数据添加到 firebase。

问题在于 Firebase 不像 MongoDB 那样在文档本身中包含自动生成的文档 ID。

我的问题是如何将每个文档的 ID 添加到同一个文档本身中,所以我的旧环回查询(例如:localhost:3000/api/test/0001/tasks) 照他们的方式工作。

编辑: 我一直在尝试直接在 github 上处理连接器,这样在为我修复它的同时,没有人会再次遇到这个问题。 我发现了这个:

create(model, data, callback) {
    this.db.collection(model).add(data).then(ref => callback(null, ref.id)).catch(err => callback(err));
}

我想不出办法让它工作

【问题讨论】:

  • POST 返回新的文档 ID。如果您需要文档中的 ID,您可以在创建/写入期间添加它(触发器、补丁)或在查询期间聚合(客户端)
  • @JamesPoag 我怎样才能得到 POST 返回的内容。这是我的功能: addObject(object){ return this.http.post(this.apiBaseURL + 'objectlist', object) }
  • POST 返回 application/json{ result : { ... } } 使用 Postman 或类似工具查看响应正文。
  • 这是来自连接器的实际方法: create(model, data, callback) { this.db.collection(model).add(data).then(ref => callback(null, ref .id)).catch(err => callback(err));} 无论如何要创建一个包含 {id:docId, data:data} 的新对象,然后使用 set(data) 而不是 add(data)?
  • 也许我误解了你。看到这个:stackoverflow.com/questions/46844907/…

标签: angular firebase loopback


【解决方案1】:

我决定回滚到我的旧架构 (mongodb) 并使用环回身份验证。 我决定这样做的原因是在我设法从 POST 响应正文中获取 ID 之后,我添加了一个更新请求以实际将 ID 作为字段插入到文档中,Firebase 返回一个错误,说我无法实际更改文档姓名。 因此,这个问题对我不再有帮助。如果其他人有问题或其他人想详细说明,我将保持问题开放并继续讨论。 谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    • 1970-01-01
    • 2019-07-28
    • 1970-01-01
    相关资源
    最近更新 更多