Cloud Firestore中的SQL LIKE运算符?

Man*_*jok 22 database firebase google-cloud-firestore

我一直在使用Firebase Real Time Fatabase,今天我遇到了Cloud Firestore.我无法弄清楚如何在Firestore上使用LIKE运算符.

Firebase实时数据库

ref.child('user').orderByChild('name').startAt(name).endAt(name+'\uf8ff')
Run Code Online (Sandbox Code Playgroud)

在Cloud Firestore上,我试过了

userRef.where('name', '>=', name); <br>
userRef.where('name', '<=', name);
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

Ioa*_* P. 20

要解决此问题,您需要更改orderByChild功能orderBy.所以请使用以下代码:

ref.collection('user').orderBy('name').startAt(name).endAt(name+'\uf8ff')
Run Code Online (Sandbox Code Playgroud)

  • 当应用程序需要另一个 order By 来进行分页以及 .startAfter() 和 .endBefore() 时,这不起作用。我们不能期望在使用这个技巧时,我们必须停用分页功能,这是不正确的。 (2认同)

Dan*_*ath 5

没有等效于LIKE,但您可以像在RTDB中那样进行前缀过滤.

您编写的查询与equals相同.你需要通过技巧做同样的事情,并做不到<.

  • 另请参见此处提供的建议:/sf/ask/3259769971/。简而言之,如果您提前分割可能要搜索的单词,则可以部分模拟。 (2认同)