android - Firebase Firestore - 移动 SDK 和 Web SDK 之间的差异

标签 android node.js firebase google-cloud-firestore

我想知道SDK之间的差异从何而来。 例如,我有一个新闻列表。我对其执行两个操作:刷新并下载第一个或下一个偏移量。 当我使用移动SDK时,我会调用它来刷新:

FirebaseFirestore.getInstance().collection("news")
.whereEqualTo("categories.finance", true)
.whereEqualTo("locale", "pl")
.orderBy("timestamp", Query.Direction.DESCENDING)
.limit(15)
.endAt(1518554580)
.get()

它将返回最新消息。但如果我在云函数上执行它:

admin.firestore().collection('news')
.where('categories.finance', '==', true)
.where('locale', '==', language)
.limit(15)
.orderBy('timestamp', 'desc')
.endAt(1518554580)
.get()

我得到一个空列表。 这同样适用于下载偏移量。查询与上面类似,但有一点不同 - 我使用的是 startAfter(1518554580)。

为什么会发生这种情况?有办法解决这个问题吗?

最佳答案

我知道为什么会发生这种情况。 由于某种原因,具有降序时间戳的复合索引适用于移动设备,但对于 Web,它在索引升序时工作。 因此,我必须为每个类别有两个索引。

关于android - Firebase Firestore - 移动 SDK 和 Web SDK 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48835402/

相关文章:

javascript - 使用等待时请求 promise 抛出意外的标识符错误

firebase - 在 beta 0.3.2 : incompatible block pointer 上使用 Firebase-auth 插件的 Flutter 的 Xcode 构建错误

java - 尝试从 Firebase 数据库获取数据,但总是获取空值

android - 为什么不需要 READ_EXTERNAL_STORAGE 权限请求来从外部存储读取文件?

android - 如何在使用 Android Universal Image Loader 将图片显示在 View 中之前调整图片大小?

android - 如何知道网络上的设备在未连接到网络的情况下正在提供服务

javascript - res.render() 的目标中可用的 node.js javascript var

java - Android 中如何设置 TextView 文本格式?

javascript - Firebase 身份验证注销()-nodejs

angularjs - 可编程聊天的 Twilio 推送通知失败