从未来检索 documentId
Retrieve documentId from future
我找不到问题的答案所以我会在这里问。
我创建了一个包含一条数据的文档。创建该文档后,我需要检索该文档的 ID,以便我可以使用该字符串添加到接下来将创建的另一个文档。代码在下面,我将 Future 函数称为“saveNewAgency”以及 Future 函数的代码。
if (globals.newAgency == true) {
firestoreService.saveNewAgency(newAgency);
agentProvider.saveAgent();
globals.newAgency = false;
} else {
firestoreService.saveAgency(newAgency);
}
Future<String> saveNewAgency(Agency agency) async {
DocumentReference docRef = await _db
.collection('agency')
.add(agency.toMap())
.then((value) => value.id);
//globals.agencyId = docRef.id;
}
如您所见,我尝试设置一个全局变量以获取 documentId,但该代码从未执行,所以我将其注释掉。
这是一件小事,但它只是我学习 flutter 和 firebase 的又一步。
谢谢
试试这个。
Future<String> saveNewAgency(Agency agency) async {
await _db
.collection('agency')
.add(agency.toMap())
.then((value) => {
globals.agencyId = value.id
});
}
String Id = _db .collection('agency').doc().id;
Future<String> saveNewAgency(Agency agency) async {
await _db
.collection('agency')
.doc(id)
.set(agency.toMap())
.then((value) => {
print(id);
});
}
我找不到问题的答案所以我会在这里问。
我创建了一个包含一条数据的文档。创建该文档后,我需要检索该文档的 ID,以便我可以使用该字符串添加到接下来将创建的另一个文档。代码在下面,我将 Future 函数称为“saveNewAgency”以及 Future 函数的代码。
if (globals.newAgency == true) {
firestoreService.saveNewAgency(newAgency);
agentProvider.saveAgent();
globals.newAgency = false;
} else {
firestoreService.saveAgency(newAgency);
}
Future<String> saveNewAgency(Agency agency) async {
DocumentReference docRef = await _db
.collection('agency')
.add(agency.toMap())
.then((value) => value.id);
//globals.agencyId = docRef.id;
}
如您所见,我尝试设置一个全局变量以获取 documentId,但该代码从未执行,所以我将其注释掉。
这是一件小事,但它只是我学习 flutter 和 firebase 的又一步。
谢谢
试试这个。
Future<String> saveNewAgency(Agency agency) async {
await _db
.collection('agency')
.add(agency.toMap())
.then((value) => {
globals.agencyId = value.id
});
}
String Id = _db .collection('agency').doc().id;
Future<String> saveNewAgency(Agency agency) async {
await _db
.collection('agency')
.doc(id)
.set(agency.toMap())
.then((value) => {
print(id);
});
}