[英]How to get last Firestore ID document
我需要 Firestore 方面的帮助。 我有一个包含客户端集合的数据库,其中包含一些以 ID 命名的文档(1、2、3..)
我想要一个函数来计算集合的文档数量并创建一个值为+1 的新文档(例如:最后一个文档是 6,我想要一个新文档 7)。
这是我所做的,但我不知道为什么它不起作用:
async function pushName(name, surname) {
const size = getID('Clients');
const newID = (size + 1).toString();
const docRef = firebase.firestore().collection('Clients').doc(newID);
await docRef.set({
FirstName: name,
LastName: surname,
});
return(
<View>
<Text>name: {name} </Text>
<Text>surname: {surname} </Text>
<Text>size: {size} </Text>
<Text>newID: {newID} </Text>
</View>
);
}
async function getID(){
const snapshot = await firebase.firestore().collection('Clients').get().then(function(querySnapshot) {
snapshot = querySnapshot.size;
});
return snapshot;
}
这是我得到的输出:
我做错了什么? 我该怎么做?
谢谢
您的函数getID
实际上并不返回计数。 它返回一个最终用计数解决的承诺。 由于它是异步的,因此您需要await
其结果才能获得值。
const size = await getID('Clients');
getID
也太复杂了——你不应该把await
和then
混在一起。 你可以大大简化它。
async function getID(){
const snapshot = await firebase.firestore().collection('Clients').get()
return snapshot.size;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.