【发布时间】: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/…