【发布时间】:2020-07-20 16:19:01
【问题描述】:
我有一个 futter 应用程序,希望将用户最喜欢的项目添加到单独的集合“userFavorites”中,该集合将根据当前用户 uid 存储所有最喜欢的项目:
Future getCurrentUser() async {
final FirebaseUser user = await FirebaseAuth.instance.currentUser();
final uid = user.uid;
return uid.toString();
}
Future<void> toggleFavoriteStatus() async{
var userId = await getCurrentUser();
final oldStatus = isFavorite;
isFavorite = !isFavorite;
notifyListeners();
try{
await Firestore.instance.collection("userFavorites/$userId").document(id).updateData({
'isFavorite': isFavorite,
});
}catch(error){
_setFavValue(oldStatus);
}
}
但是当我尝试收藏任何项目时收到此错误:
Invalid document reference. Document references must have an even number of segments, but userFavorites/FRbYxmNpSBcda6XOrQUjukvFvVb2/q7eLxtZfhG3g6Pd1bYY4 has 3
E/MethodChannel#plugins.flutter.io/cloud_firestore(14551): at com.google.firebase.firestore.DocumentReference.forPath(com.google.firebase:firebase-firestore@@21.3.0:80)
【问题讨论】:
标签: firebase flutter google-cloud-firestore