Flutter Firebase Firestore 列表数据保存无法调用索引为
Flutter Firebase Firestore List Data Saving Cannot Recall Index as
当我从项目中的用户处执行 activity 时,我会获取即时位置并使用 firebase 和 firestore 保存它。但是当我回调查询时,我得到了我保存在列表中的所有内容。我只是希望它作为索引索引出现。例如 1-“kosum1”。我该怎么做?
dataBaseSave() async {
final User user = auth.currentUser;
await _geolocator
.getCurrentPosition(desiredAccuracy: LocationAccuracy.high)
.then((Position position) {
setState(() {
_currentPosition = position;
GeoFirePoint point = geo.point(
latitude: position.latitude, longitude: position.longitude);
FirebaseFirestore.instance.collection('Test').add({
'Liste': FieldValue.arrayUnion(
[nb1, kosuadi, user.uid, position.latitude, position.longitude])
});
nb1++;
});
});}
数据调用:
getData() async {
FirebaseFirestore.instance
.collection('Test')
.where(('Liste'), arrayContains: "kosum1")
.get()
.then((value) {
value.docs.forEach((result) {
list = result.data();
var list2 = list.values.toList();
print(list2);
});
});}
输出:
Firebase Firestore 我的 Collection:
您可以使用 List.asMap() 方法将其索引的 List
转换为列表值的 Map
。
The map uses the indices of this list as keys and the corresponding objects as values.
更改这部分代码:
list = result.data();
var list2 = list.values.toList();
print(list2); //[0, kosum1, ...]
对此:
list = result.data();
var map = list.asMap();
print(map); //[0: 0, 1: kosum1, ...]
当我从项目中的用户处执行 activity 时,我会获取即时位置并使用 firebase 和 firestore 保存它。但是当我回调查询时,我得到了我保存在列表中的所有内容。我只是希望它作为索引索引出现。例如 1-“kosum1”。我该怎么做?
dataBaseSave() async {
final User user = auth.currentUser;
await _geolocator
.getCurrentPosition(desiredAccuracy: LocationAccuracy.high)
.then((Position position) {
setState(() {
_currentPosition = position;
GeoFirePoint point = geo.point(
latitude: position.latitude, longitude: position.longitude);
FirebaseFirestore.instance.collection('Test').add({
'Liste': FieldValue.arrayUnion(
[nb1, kosuadi, user.uid, position.latitude, position.longitude])
});
nb1++;
});
});}
数据调用:
getData() async {
FirebaseFirestore.instance
.collection('Test')
.where(('Liste'), arrayContains: "kosum1")
.get()
.then((value) {
value.docs.forEach((result) {
list = result.data();
var list2 = list.values.toList();
print(list2);
});
});}
输出:
Firebase Firestore 我的 Collection:
您可以使用 List.asMap() 方法将其索引的 List
转换为列表值的 Map
。
The map uses the indices of this list as keys and the corresponding objects as values.
更改这部分代码:
list = result.data();
var list2 = list.values.toList();
print(list2); //[0, kosum1, ...]
对此:
list = result.data();
var map = list.asMap();
print(map); //[0: 0, 1: kosum1, ...]