Firebase 不要在带有颤振的firestore中添加具有相同数据的字段

Firebase 不要在带有颤振的firestore中添加具有相同数据的字段,firebase,flutter,google-cloud-firestore,firebase-cloud-messaging,Firebase,Flutter,Google Cloud Firestore,Firebase Cloud Messaging,您好,我已经开始在firestore中添加设备的令牌,我在应用程序启动时将令牌设置为firestore,我需要一些帮助,我的应用程序应该首先检查,如果令牌相同,那么它不能在cloud fire store中添加。 我在initstate中执行此操作,代码如下: firebaseMessaging.getToken().then((token){ DocumentReference documentReference = Firestore.instance.collection("Device

您好,我已经开始在firestore中添加设备的令牌,我在应用程序启动时将令牌设置为firestore,我需要一些帮助,我的应用程序应该首先检查,如果令牌相同,那么它不能在cloud fire store中添加。 我在initstate中执行此操作,代码如下:

firebaseMessaging.getToken().then((token){

DocumentReference documentReference = Firestore.instance.collection("DeviceToken").document();
  Map<String, dynamic> devToken ={
    "Token": token
  };
  documentReference.setData(devToken,merge: true).whenComplete((){
  print("$token created");
  });
  setState(() {});
  });
firebaseMessaging.getToken().then((令牌){
DocumentReference=Firestore.instance.collection(“DeviceToken”).document();
德夫托克地图={
“代币”:代币
};
documentReference.setData(devToken,merge:true)。完成时(){
打印(“$token created”);
});
setState((){});
});

保存您使用发送到持久性存储的最后一个令牌,然后检查它是否正确changes@DimaRostopira顺便说一句,我想如果我查询文档并在那里应用一些逻辑,以便它插入令牌,那么除了共享首选项插件之外,它还会有帮助吗?是的,您可以使用事务。但这将创建对数据库不必要的请求,您将为此付费。别这样t@DimaRostopira然后,请给我一点指导,我如何实现这个目标,我已经坚持了两个星期。保存您使用发送到持久性存储的最后一个令牌,然后检查它是否正确changes@DimaRostopira顺便说一句,我想如果我查询文档并在那里应用一些逻辑,这样它就不会插入令牌,除了共享首选项插件之外,它还会有帮助吗?是的,你可以使用事务。但这将创建对数据库不必要的请求,您将为此付费。别这样t@DimaRostopira那么,请你给我一点指导,我该如何实现这个目标,我已经坚持了两个星期了。