Допустим, у меня есть эти данные в моей базе данных в Firebase.
При запросе к ним это снимок моей таблицы users
.
Snap (users) {
"-LT4EcyIm--lMAQQqKSR" = {
fcmToken = "abc";
phone = 9786770861;
};
Я хочу вставитьтолько для следующей записи fcmToken != "abc";
, потому что fcmToken должен быть уникальным.
Как мы можем настроить Firebase для уникальной записи определенной строки?
Код
func storeToFirebaseDatabase() {
let email = "johndoe@gmail.com"
let password = "tsnu123"
let phone = "9786470861"
Auth.auth().createUser(withEmail: email, password: password) { (user, error) in
let ref = Database.database().reference()
let usersReference = ref.child("users")
let id = usersReference.childByAutoId().key
InstanceID.instanceID().instanceID(handler: { (result, error) in
let token = result?.instanceID
let fcmToken = UserDefaults.standard.string(forKey: "fcmToken")
let values =
["phone": phone,
"CreatedAt":self.dateToString(date: Date()),
"UpdatedAt":self.dateToString(date: Date()),
"fcmToken": fcmToken,
] as [String : Any]
usersReference.observe(DataEventType.value, with: { (snapshot) in
if snapshot.childrenCount > 0 {
print("--------")
print(snapshot)
print("--------")
}
})
usersReference.child(id!).setValue(values, withCompletionBlock: { (err, ref) in
if err != nil {
print(err.self as Any)
return
}
print("Successfully saved user in Firebase DB")
})
})
}
}