对不起这个问题,因为我是这个领域的新手。因此,我目前正在为我的网站使用 Firebase Firestore,从 Firebase 获取文档的常用方法运行良好。但是,当我创建搜索功能时,我必须通过where('field name in Firebase','equations like "=", ">",">=", etc.', 'parameter'). 我的问题是我想从我调用的搜索栏中输入一个值source。转换sourcewith的值后toLowerCase(),我想将变量分配给source函数内部的参数where()。但是,它不能很好地工作,因为在我看过的一些教程中,他们使用字符串数据类型并将其放在where()参数中。谁能帮我解决这个问题?顺便说一句,我试着输入一些string在参数内部,它运行良好。我会将数据保留在 Firebase 中,以防您想弄乱它。谢谢你。target1.addEventListener('search', search);function search(){ source = target1.value; source = source.toLowerCase(); db.collection('Product').where('name','>=', 'source').where('name','<=', 'source' + '\uf8ff').onSnapshot(snapshot =>{ let changes = snapshot.docChanges(); changes.forEach(change =>{ if (change.type == 'added'){ insertDoc(change.doc); } else if (change.type == 'removed'){ let box = docTarget.querySelector('[data-id=' + change.doc.id +']'); docTarget.removeChild(box); } })})<html><head> <title>SDE Stock | Cari</title> <meta charset="utf-8"> <link rel="stylesheet" href="style.css"> <link href="https://fonts.googleapis.com/css?family=Open+Sans&display=swap" rel="stylesheet"> <!-- The core Firebase JS SDK is always required and must be listed first --> <script src="https://www.gstatic.com/firebasejs/7.14.0/firebase-app.js"></script> <script src="https://www.gstatic.com/firebasejs/7.14.0/firebase-firestore.js"></script> <!-- TODO: Add SDKs for Firebase products that you want to use https://firebase.google.com/docs/web/setup#available-libraries --> <script src="https://www.gstatic.com/firebasejs/7.14.0/firebase-analytics.js"></script></head></body></html>
1 回答
狐的传说
TA贡献1804条经验 获得超3个赞
既然source是一个变量,那么您需要执行以下操作:
source = target1.value;
source = source.toLowerCase();
db.collection('Product').where('name','>=', source).where('name','<=', source + '\uf8ff').onSnapshot(snapshot =>{
添加回答
举报
0/150
提交
取消