Database 云Firestore中类似SQL的操作符?

Database 云Firestore中类似SQL的操作符?,database,firebase,google-cloud-firestore,Database,Firebase,Google Cloud Firestore,我使用Firebase实时Fatabase已经有一段时间了,今天我遇到了CloudFireStore。我不知道如何在Firestore上使用LIKE操作符 Firebase实时数据库 ref.child('user').orderByChild('name').startAt(name).endAt(name+'\uf8ff') 在云Firestore上,我尝试过 userRef.where('name', '>=', name); <br> userRef.where('n

我使用Firebase实时Fatabase已经有一段时间了,今天我遇到了CloudFireStore。我不知道如何在Firestore上使用LIKE操作符

Firebase实时数据库

ref.child('user').orderByChild('name').startAt(name).endAt(name+'\uf8ff')
在云Firestore上,我尝试过

userRef.where('name', '>=', name); <br>
userRef.where('name', '<=', name);
userRef.where('name','>=',name)

userRef.where('name','没有与LIKE等效的名称,但是可以使用与在RTDB中相同的方法进行前缀过滤


您编写的查询与equals相同。您需要使用技巧完成相同的操作,并且只需执行小于
的操作。要解决此问题,您需要使用
orderBy
更改
orderByChild
函数。因此,请使用以下代码:

ref.collection('user').orderBy('name').startAt(name).endAt(name+'\uf8ff')

没有这样的运算符,允许的运算符是
==,=。

在这里,您可以找到cloud firestore中查询的所有限制:

FYI:使用更高版本的cloud firestore(例如,0.12.5)、startAt()和endAt()方法需要字符串列表,而不是单个字符串。

另请参见此处给出的建议:。简言之,如果您提前对可能搜索的单词进行分段,则可以部分模拟此操作。如果应用程序需要另一个order By以及.startAfter()和.endBefore()进行分页,则此操作不起作用.我们不能期望在使用此技巧时,必须停用分页功能,这是不正确的。