Google Firestore 是 Google Firebase 提供的一种 NoSQL 数据库服务,适用于 Web、iOS 和 Android 应用程序。它提供了灵活的数据模型和强大的查询功能,支持实时数据同步和离线数据访问。
Firestore 支持通过 where
子句进行复杂查询,包括文本搜索。你可以使用 array-contains
操作符来检查数组字段中是否包含特定值,但对于子字符串搜索,Firestore 并没有直接提供类似 SQL 中的 LIKE
操作符。
Firestore 查询主要分为以下几种类型:
Firestore 适用于各种需要实时数据同步和离线数据访问的应用场景,例如:
由于 Firestore 不直接支持子字符串搜索,可以通过以下方式实现:
array-contains
操作符。假设我们有一个 users
集合,每个文档包含一个 name
字段,我们希望查询包含特定子字符串的用户。
// 存储数据时预处理
const user = {
name: "John Doe",
nameArray: ["John", "Doe"] // 预处理成数组
};
db.collection('users').add(user);
// 查询包含特定子字符串的用户
const substring = "John";
db.collection('users')
.where('nameArray', 'array-contains', substring)
.get()
.then(querySnapshot => {
querySnapshot.forEach(doc => {
console.log(`${doc.id} => ${doc.data()}`);
});
})
.catch(err => {
console.log('Error getting documents: ', err);
});
通过上述方法,可以在 Firestore 中实现类似子字符串搜索的功能。
领取专属 10元无门槛券
手把手带您无忧上云