You need to enable JavaScript to run this app. 如何使用JavaScript在Firestore中按公司名称筛选查询对应请求数据
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript在Firestore中按公司名称筛选查询对应请求数据

实现方案

第一步:修改登录逻辑,存储当前登录企业标识

你需要在登录校验通过后,把当前登录的企业名称持久化存储(保证跳转到home1.html后还能正常读取),同时建议补充企业名称的校验,避免出现邮箱密码正确但企业名称不匹配的异常情况。
修改后的登录代码如下:

function login() {
    var useremail    = document.getElementById("email").value;
    var inputCompanyName  = document.getElementById("CompanyName").value;
    var password     = document.getElementById("password").value;

    const docRef = db.collection('Companies List')
       .where("CompanyEmail", "==", useremail)
       .where("CompanyPassword", "==", password)
       // 补充校验提交的企业名称和账号匹配
       .where("CompanyName", "==", inputCompanyName);

    docRef.get().then((snapshot) => {
      if (snapshot.empty) {
        alert("Invalid Credentials")
      } else {
        const loginCompanyData = snapshot.docs[0].data();
        Swal.fire({
          title:'Match!',
          text: 'Welcome to the dashboard',
          type: 'success',
        }).then(function() {
          // 把登录的企业名称存到sessionStorage,页面跳转后依然可读取
          sessionStorage.setItem('loginCompanyName', loginCompanyData.CompanyName);
          window.location = "home1.html";
        });
      }
    });
}

第二步:修改home1.html的请求拉取逻辑,添加筛选条件

找到你之前全量拉取请求列表的代码,添加where筛选条件,匹配PolicyCompany字段和存储的登录企业名称即可,示例如下:

// 从sessionStorage读取当前登录的企业名称
const currentCompany = sessionStorage.getItem('loginCompanyName');
// 未登录时直接跳回登录页
if (!currentCompany) {
  window.location = 'login.html';
}

// 拉取数据时添加筛选,仅拉取当前企业的请求
db.collection('你的请求列表集合名')
  .where('PolicyCompany', '==', currentCompany)
  .get()
  .then((snapshot) => {
    // 你的原有渲染逻辑不变,直接处理snapshot里的文档即可
    snapshot.docs.forEach(doc => {
      console.log(doc.data());
      // 原有渲染到HTML表单的逻辑
    })
  })

补充注意点

  • 如果你需要关闭浏览器后登录状态依然保留,可以把sessionStorage换成localStorage
  • 生产环境建议给Firestore配置安全规则,禁止企业读取其他企业的请求数据,避免前端篡改存储值越权访问

内容的提问来源于stack exchange,提问作者saqib diar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 03:39:03