Полученный идентификатор в журнале не совпадает с идентификатором в базе данных Firestore.
Это нормально, так как метод set()
возвращает Promise<void>
(т.е. Обещание, которое разрешается до undefined
). Поэтому вы не можете сделать doc.id
в функции обратного вызова, переданной методу then()
, поскольку doc
- это undefined
.
Вы должны сделать следующее:
try {
const docRef = admin.firestore().collection("mycollection").doc();
const docId = docRef.id; //Here you have the value of the id (independently of the fact you call set() later or not)
await docRef.set(mydata);
} catch(err) {
//...
}