【发布时间】:2020-06-07 11:37:33
【问题描述】:
我在尝试更新已登录用户的数据时遇到问题。我有 uid,但 uid 和用户集合之间必须有联系,以便程序选择正确的用户进行更新,但我不知道如何制作。
这是我所拥有的:
FirebaseUser loggedInUser;
final _firestore = Firestore.instance;
//
double _latitude;
double _longitude;
void getCurrentLocation() async {
try {
Position position = await Geolocator()
.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
setState(() {
_latitude = position.latitude;
_longitude = position.longitude;
});
_firestore
.collection('users')
.document('${loggedInUser.uid}')
.updateData({'location': GeoPoint(_latitude, _longitude)});
} catch (e) {
print(e);
}
}
这是我得到的:
E/flutter ( 9187): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(Error performing updateData, NOT_FOUND: No document to update: projects/app-#####/databases/(default)/documents/users/CGyByl58ELc0zirlVjJpv5OWAc42, null)
所以它使用了正确的 uid ("CGyByl58ELc0zirlVjJpv5OWAc42")
【问题讨论】:
标签: firebase flutter dart google-cloud-firestore