我从这篇question中读到了Dan McGrath的回答,他说在Firestore中有以下代码行的等价物:
myRef.startAt(searchText).endAt(searchText + "\uf8ff");
此行在Firebase实时数据库中运行良好,但我试图在Cloud Firestore中找到相当于数天的等效内容。任何人都可以帮我吗?
提前致谢!
答案 0 :(得分:4)
你有几个选择。
您可以使用.where
关键字添加查询过滤器。看看Order and Limit Data with Cloud Firestore
如果您想使用游标分页数据,请查看Paginate Data with Query Cursors
您需要指定要搜索的字段。例如,如果您要查找包含name
searchText
的所有文档,则需要添加orderBy
参数。
myRef.orderBy("name").startAt(searchText).endAt(searchText + "\uf8ff");
这假定您的myRef
是对集合的引用。
答案 1 :(得分:0)
你找到了解决办法,可能你糊涂了,把这个"改成单引号(') 它会很好地工作,感谢另一篇文章,它也对我有帮助。 我把我的代码留在这里:
FirestoreRecyclerOptions <Ingreso> newoptions = new FirestoreRecyclerOptions.Builder<Ingreso>()
.setQuery(fStore.collection("DatosEmpresa").orderBy("DepartamentoEmpresaLoweCase").startAt(newText.toLowerCase()).limit(25).endAt(newText.toLowerCase()+'\uf8ff'),Ingreso.class)
.build();