如何变量值来自 firestore 数据库?
How to variable values comes from firestore database?
我正在使用 firestore 数据库,这是我的变量
final firebase = FirebaseFirestore.instance;
int lessonpoint1 = 0;
int lessonpoint2 = 0;
我创建了一个在启动时创建这些变量的方法
create() async {
try {
await firebase.collection("Accounts").doc(_user.uid).set({
"Adı Soyadı": _user.displayName,
"Mail Adresi": _user.email,
"lessonpoint1": lessonpoint1,
"lessonpoint2": lessonpoint2,
});
} catch (e) {
print(e);
}
}
我创建后,我不希望这里的变量在这里的值为0。我想从 firestore 中提取这些值。我怎样才能做到这一点?我用Update给变量赋值10,但是当我想访问变量的时候,全局级别的值0来了。
谢谢,
祝你有美好的一天。
您可以使用 Transaction
或 FieldValue.increment()
.
而不是直接从客户端设置值
使用 Transaction
,您将确保始终从数据库中获取最新值并更新它。
与 FieldValue.increment()
非常相似,但语法少得多,您可以只使用简单的增量。
例如,如果您想将每次访问的积分增加 10
,您可以这样编写代码:
create() async {
try {
await firebase.collection("Accounts").doc(_user.uid).set({
"Adı Soyadı": _user.displayName,
"Mail Adresi": _user.email,
"lessonpoint1": FieldValue.increment(10),
"lessonpoint2": FieldValue.increment(10),
});
} catch (e) {
print(e);
}
}
如果您只对如何从 firestore 获取数据本身感兴趣,我建议您先查看文档 here。
您可以详细了解这两种方法 here。
我正在使用 firestore 数据库,这是我的变量
final firebase = FirebaseFirestore.instance;
int lessonpoint1 = 0;
int lessonpoint2 = 0;
我创建了一个在启动时创建这些变量的方法
create() async {
try {
await firebase.collection("Accounts").doc(_user.uid).set({
"Adı Soyadı": _user.displayName,
"Mail Adresi": _user.email,
"lessonpoint1": lessonpoint1,
"lessonpoint2": lessonpoint2,
});
} catch (e) {
print(e);
}
}
我创建后,我不希望这里的变量在这里的值为0。我想从 firestore 中提取这些值。我怎样才能做到这一点?我用Update给变量赋值10,但是当我想访问变量的时候,全局级别的值0来了。
谢谢, 祝你有美好的一天。
您可以使用 Transaction
或 FieldValue.increment()
.
使用 Transaction
,您将确保始终从数据库中获取最新值并更新它。
与 FieldValue.increment()
非常相似,但语法少得多,您可以只使用简单的增量。
例如,如果您想将每次访问的积分增加 10
,您可以这样编写代码:
create() async {
try {
await firebase.collection("Accounts").doc(_user.uid).set({
"Adı Soyadı": _user.displayName,
"Mail Adresi": _user.email,
"lessonpoint1": FieldValue.increment(10),
"lessonpoint2": FieldValue.increment(10),
});
} catch (e) {
print(e);
}
}
如果您只对如何从 firestore 获取数据本身感兴趣,我建议您先查看文档 here。
您可以详细了解这两种方法 here。