Firebase-添加ID不匹配的文档吗?

时间:2019-03-18 14:31:34

标签: javascript firebase google-cloud-firestore

看到了一些有关此的帖子,但是我没有得到我希望的结果。 计划:将文档ID作为字段传递给该项目。

const ref = db.collection('mycollection').doc();
console.log(ref.id);
db.collection('mycollection').add({
    id: ref.id,
    name: req.body.name
})
.then(docRef => {
    console.log("Document written with ID: ", docRef.id);
})

运行此命令(firebase serve并通过邮递员发送数据)时, ref.id docRef.id 不匹配,例如:

zR5nJ348OpbwHcyGoojC
info: Document written with ID:  Fh2mqfZKpizzW5RIJ0yF

我希望它们能匹配-这对我来说不正确吗?

如果它们不匹配,那么我总是可以对刚刚创建的商品进行更新,但这感觉不必要。

我这样做的原因是,我可以通过直接引用ID轻松地更新或删除项目。但是我愿意接受其他建议,以防万一我弄错了灌木丛。

谢谢

1 个答案:

答案 0 :(得分:1)

每次调用doc()(不带参数)或add(...)时,Firestore都会创建一个新的文档ID。由于您在代码中都调用了它们,因此最终得到两个单独的ID。诀窍是仅呼叫一个或另一个,例如:

const ref = db.collection('mycollection').doc();
ref.set({
    id: ref.id,
    name: req.body.name
})