在Firestore中,可以使用.where()
方法来按照对象键进行查询。下面是一个示例代码,演示了如何按照对象键查询Firestore数据库。
// 导入Firebase和Firestore模块
import firebase from 'firebase/app';
import 'firebase/firestore';
// 初始化Firebase应用
firebase.initializeApp({
// 添加你的Firebase配置信息
});
// 获取Firestore实例
const db = firebase.firestore();
// 创建一个函数来按照对象键查询Firestore数据库
async function queryByObjectKey(collection, key, value) {
try {
// 执行查询
const querySnapshot = await db.collection(collection).where(`object.${key}`, '==', value).get();
// 处理查询结果
const documents = [];
querySnapshot.forEach((doc) => {
documents.push(doc.data());
});
// 返回查询结果
return documents;
} catch (error) {
console.error('Error querying Firestore:', error);
throw error;
}
}
// 调用查询函数并打印结果
queryByObjectKey('myCollection', 'name', 'John')
.then((documents) => {
console.log('Query results:', documents);
})
.catch((error) => {
console.error('Error querying Firestore:', error);
});
在上述示例中,我们创建了一个queryByObjectKey
函数来执行按照对象键查询。该函数接受三个参数:集合名称、对象键和对象键的值。它使用.where()
方法来指定查询条件,其中object
是对象字段的名称,key
是对象键的名称,value
是对象键的值。
执行查询后,我们使用querySnapshot.forEach()
方法来遍历查询结果,并将每个文档的数据添加到documents
数组中。最后,我们返回查询结果。
你可以根据自己的需求修改函数和查询条件。请确保在使用之前已正确初始化Firebase应用,并替换示例中的集合名称和字段名称。
上一篇:按照对象的日期属性对数组进行排序