【问题标题】:Firestore invalid Query for Orderd By?Firestore 对 Order By 的无效查询?
【发布时间】:2018-12-15 12:46:07
【问题描述】:

我正在尝试查询一组帖子。每个帖子都有一个被观看的部分,如果被观看的部分包含用户,那么查询应该返回该值。但是,当我运行查询时:

 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

            if (diff.type == .added) {

            }
            if (diff.type == .modified) {

            }
            if (diff.type == .removed) {

            }
        }

我收到错误 Invalid field path (watchedBy/BmVoasdfa34fdtiucWSb8XPPM42). Paths must not contain '~', '*', '/', '[', or ']''。等效的 firebase 查询运行良好:

 let watchedByQuery = postReference.queryOrdered(byChild: "/watchedBy/" + UID!).queryStarting(atValue: "")

我已尝试将代码更改为let watchingQuery = postsReference.order(by: "watchedBy.\(UID!)").start(at: [""])。此查询有效,但 FireStore 没有返回任何内容。

编辑:

试过了:

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

但仍然返回空。

【问题讨论】:

    标签: swift firebase google-cloud-firestore


    【解决方案1】:

    结果我的发布方法仍然与进行乘法更新的 firebase 方法相同。因此,发布机制发布到了错误的路径。

    【讨论】:

      猜你喜欢
      • 2022-11-02
      • 2019-01-21
      • 2012-12-31
      • 2011-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2017-02-11
      相关资源
      最近更新 更多