如何检查字段在Firebase中是否存在,如果存在则打印其值,如果不存在则在Flutter中添加空值



如何使函数检查Firebase是否有first_name: John字段,如果根本没有first_name字段,则返回first_name:空值.

下面的是取自查询

的名称的变量
late String userName;
Future getuserData(userName) async {
await FirebaseFirestore.instance
.collection("users")
.doc(user?.uid)
.get()
.then((value) => userName = value.data()?["first_name"]);
}

当你的文档包含"first_name",试图得到它像这样value.data()?["first_name"]将返回它的值,否则它不会找到它,并返回null,所以你可以简单地设置一个替代(这是空值),像这样:

Future getuserData(userName) async {
await FirebaseFirestore.instance
.collection("users")
.doc(user?.uid)
.get()
.then((value) => userName = (value.data()?["first_name"]) ?? "");
}

现在在getuserData()被调用之后,userName将是来自数据库的值,如果它存在,否则它将是可选的"",这是一个空值。

相关内容

最新更新