在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应用,并替换示例中的集合名称和字段名称。
                    上一篇:按照对象的日期属性对数组进行排序