繁体   English   中英

如何获取最后一个 Firestore ID 文件

[英]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也太复杂了——你不应该把awaitthen混在一起。 你可以大大简化它。

async function getID(){  
  const snapshot = await firebase.firestore().collection('Clients').get()
  return snapshot.size;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM