cloudfirestore 複数ドキュメント 取得でnot equalを使う方法
not equalがない
firestoreにはnot equalがないようです。
whereでlessthanとgraterthanを組み合わせればいけると書いてあったのですが
文字列の場合だといけなかった。。。のでfilterを使って対処
struct UserData{
let uuid:String
let userName:String
let nowLatitude: Double
let nowLongitude: Double
let updatedAt: Timestamp
init(uuid:String,userName:String,nowLatitude: Double, nowLongitude: Double, updatedAt: Timestamp) {
self.uuid = uuid
self.userName = userName
self.nowLatitude = nowLatitude
self.nowLongitude = nowLongitude
self.updatedAt = updatedAt
}
init(document: [String: Any]) {
uuid = document["uuid"] as? String ?? ""
userName = document["user_name"] as? String ?? ""
nowLatitude = document["now_latitude"] as? Double ?? 0
nowLongitude = document["now_longitude"] as? Double ?? 0
updatedAt = document["updated_at"] as? Timestamp ?? Timestamp()
}
}
てなかんじで辞書を作っていれば
以下のようにフィルターをかけてあげればできる
db.collection("users")
.addSnapshotListener { querySnapshot, error in
guard let documents = querySnapshot?.documents else {
print("Error fetching documents: \(error!)")
return
}
print("userDateReload")
self.usersList = documents
.filter{UserData(document:$0.data()).uuid != self.AppDelegateDatas.UUID }
.map { UserData(document: $0.data()) }
print(self.usersList)
}
Author And Source
この問題について(cloudfirestore 複数ドキュメント 取得でnot equalを使う方法), 我々は、より多くの情報をここで見つけました https://qiita.com/notitle420/items/816572cf711850bb266d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .