我试图做一些类似于这样的事情,如果不存在一个文档,那么做setData,如果文档存在,做更新数据...... 我已经尝试过了(下面的代码),似乎是可行的,但我担心的是,如果当我启动应用程序时,错误信息发生变化怎么办?
Future updateReference(
String phoneNumber,
) async {
try {
return await mCollectionRef.document(phoneNumber).updateData({
uid: true,
});
} on PlatformException catch (error) {
print(error.message.substring(0, 9));
if (error.message.substring(0, 9) == 'NOT_FOUND') {
return await mCollectionRef.document(phoneNumber).setData({
uid: true,
});
}
}
}
有没有其他方法可以实现这个功能?
如果你想更新或创建一个文档,如果它不存在,你可以只通过 merge: true
作为第二个参数 setData().