Пожарная служба заказа не работает как Firebase? - PullRequest
0 голосов
/ 06 июля 2018

Моя модель Firebase для наблюдения за постами была такова:

let postReference = Database.database().reference().child("posts")
    let watchedByQuery = postReference.queryOrdered(byChild: "/watchedBy/" + UID!).queryStarting(atValue: "")

Однако, когда я пытаюсь преобразовать его в Firestore,

let postsReference = Firestore.firestore().collection("posts")
        let watchingQuery = postsReference.order(by: "/watchedBy/" + UID!).start(at: [""])
    watchingQuery.addSnapshotListener { (querySnapshot, error) in
        guard let snapshot = querySnapshot else {
            print("Error fetching snapshots: \(error!)")
            return
        }
        snapshot.documentChanges.forEach { diff in

Я получаю ошибку Invalid field path (/watchedBy/P02bS6QrVE122yjrU7L87X2). Paths must not contain '~', '*', '/', '[', or ']''

В чем проблема? По сути, запрос проверяет сообщения с идентификатором пользователя в разделе watchedBy. Однако преобразование FireStore, похоже, не работает.

1 Ответ

0 голосов
/ 09 июля 2018

По сути, я просто добавил whereField таким образом, чтобы наблюдаемыйBy / UID существовал.

let postsReference = Firestore.firestore().collection("posts") 
let watchingQuery = postsReference.whereField("watchedBy."+(UID!), isGreaterThan:"")

Edit:

Обратите внимание на изменение с

"/watchedBy/" + UID!

к правильно отформатированной дочерней ссылке Firestore, равной

"watchedBy."+(UID!)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...