小编Ste*_*ton的帖子

Firestore比较运算符 - 包含,不包含,以.开头

从文档"... where()方法有三个参数:要过滤的字段,比较操作和值.比较可以是<,<=,==,>或> = ... "

我们需要执行的查询是:

  • 等于(==)
  • 不等于 (???)
  • 小于(<)
  • 大于(>)
  • 小于等于(<=)
  • 大于等于(> =)
  • 包含(???)
  • 不含 (???)
  • 以..开始 (???)

在这个问题中,建议是实施全文搜索,例如Elastic或Algolia.我不需要全文搜索 - 我只需要这些基本操作符来搜索指定的字段.但我遇到的更大的问题是我的应用程序离线很长一段时间,我们将离线所需的数据缓存,离线全文搜索不是一个选项(除非你获得企业版($$) $$$$)Algolia的许可证 - 但对于我们正在寻找的东西似乎仍然过度.

当你在"???"中有任何解决方案("FIELD","???","string")是"不等于","包含","不包含",还是"以...开头"?

感谢任何想法.

google-cloud-firestore

13
推荐指数
1
解决办法
2882
查看次数

Firestore脱机写入/添加不起作用

我们可以让Firestore将记录下载到本地缓存,并可以读取这些记录.但是,我们无法更新记录,也无法添加新记录.

甚至尝试了一些相同的代码(https://github.com/firebase/quickstart-android),但似乎无法使离线写/插入工作 - 只读.

当我们将此函数调用为脱机时,它将被调用OnFailureListner并抛出异常

 @Override
public void onRating(Rating rating) {
    // In a transaction, add the new rating and update the aggregate totals
    addRating(mRestaurantRef, rating)
            .addOnSuccessListener(this, new OnSuccessListener<Void>() {
                @Override
                public void onSuccess(Void aVoid) {
                    Log.d(TAG, "Rating added");

                    // Hide keyboard and scroll to top
                    hideKeyboard();
                    mRatingsRecycler.smoothScrollToPosition(0);
                }
            })
            .addOnFailureListener(this, new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Log.w(TAG, "Add rating failed", e);

                    // Show failure message and hide keyboard
                    hideKeyboard();
                    Snackbar.make(findViewById(android.R.id.content), "Failed to add …
Run Code Online (Sandbox Code Playgroud)

android firebase google-cloud-firestore

5
推荐指数
1
解决办法
528
查看次数

标签 统计

google-cloud-firestore ×2

android ×1

firebase ×1