获取文档在谷歌云火库中保存成功的快照



我正在测试以下代码,以创建一个新文档并获取它的快照,以便从快照中检索自动生成的文档id。当我记录它时,它显示为未定义。

有人能在承诺中提出获取文档id的方法吗?

db.collection("cities").doc().set({
name: "Los Angeles",
state: "CA",
country: "USA"
})
.then(function(snapshot) {
console.log("Document successfully written!" + snapshot);
})
.catch(function(error) {
console.error("Error writing document: ", error);
});

您可以执行以下操作:

const docRef = db.collection("cities").doc();
const docId = docRef.id;
docRef.set({
name: "Los Angeles",
state: "CA",
country: "USA"
})
.then(function() { 
console.log("Document successfully written!");
})
.catch(function(error) {...}

利用CCD_ 1方法;如果没有指定路径,则自动生成的唯一ID将用于返回的DocumentReference〃;。

请注意,这与是否使用DocumentReference写入数据库无关。换句话说,自动生成的唯一ID是在客户端中生成的,而不是在Firestore后端中生成的。请注意,这不是异步操作,因此不需要"异步";以获得承诺中的文档id";。


最后注意,set()方法不会返回文档的快照(您将问题的标题设置为"成功时获取文档快照"(;而是CCD_ 5。

最新更新