Я пытаюсь создать приложение для событий.и я добавляю новое поле в мои документы событий.Я пытаюсь добавить поле "место встречи" для своих документов событий
, поэтому перед запуском приложения я удаляю все доступные данные в моей базе данных Firestore.Но когда я возвращаю свои данные обратно в приложение, говорят, что «место проведения» равно нулю, кажется, что поле «место проведения» не существует, хотя на самом деле поле «место проведения» существует в моей базе данных пожарного депо.
Я подозреваю, что мое приложение все еще получает мои удаленные документы.вот почему
вот код, который я использую:
enum FirestoreCollectionReference {
case users
case events
case cities
case APIKey
private var path : String {
switch self {
case .users : return "users"
case .events : return "events"
case .cities : return "cities"
case .APIKey : return "secretAPIKeyKM"
}
}
func reference () -> CollectionReference {
return Firestore.firestore().collection(path)
}
}
FirestoreCollectionReference.events.reference()
.whereField("city", isEqualTo: selectedCity)
.whereField("eventType", isEqualTo: selectedEventType)
.whereField("coordinate", isGreaterThan: lesserGeopoint)
.whereField("coordinate", isLessThan: greaterGeopoint)
.order(by: "coordinate")
.order(by: "dateTimeStart", descending: true)
.limit(to: 20)
.addSnapshotListener { (snapshot, error) in
if let error = error {
completion(nil,eventListener)
print("Error when observing events document: \(error.localizedDescription)")
} else {
print("Successfully get events data from Firestore by Listener")
guard let documentsSnapshot = snapshot else {
completion(nil, eventListener)
return
}
let eventDocuments = documentsSnapshot.documents
print("the number of documents: \(eventDocuments.count)")
var eventsArray = [EventKM]()
for document in eventDocuments {
let eventDictionary = document.data()
let theEvent = EventKM(dictionary: eventDictionary)
eventsArray.append(theEvent)
}
completion(eventsArray,eventListener)
}
}
}
Я пытаюсь напечатать количество документов, и это показывает, что у меня есть 8 документов из этого запроса, на самом деле этов моей базе данных должен быть только один документ.
Я пытаюсь удалить составные индексы из консоли Firebase, но обычно после удаления составных индексов выдается ошибка + ссылка для генерации составных индексов.в моей области отладки на моем XCode, но после того, как я удаляю составные индексы, я не получаю ссылку error + для генерации индексов и даю 8 документов (это должен быть только один документ)
кажетсяданные кешируются в моем приложении для iOS.не так ли?или это ошибка, поскольку Firestore все еще находится в бета-версии?Мне нужно понять, почему и как решить эту проблему, чтобы лучше понять Firebase.Заранее спасибо.