我的网站上有过滤器,我需要根据过滤器中的输入检索数据。过滤器的某些字段可以为空(''),我希望能够基本上忽略与这些字段相关的那些查询。像这样的东西
//fields
const { country, age, gender, contract, budget_low, budget_high } = queries;
//query
db.collection("users")
.where("country", "in", country === "" ? "any" : "Nigeria")
.where("gender", "in", gender === "" ? "any" : "Male")
.where("age", "in", age === "" ? "any" : "21")
.get()
.then((querySnapshot) => {
var data = [];
querySnapshot.forEach((doc) => {
data.push(doc.data());
});
setPeers(data);
})
.catch((error) => {
console.log("Error getting documents: ", error);
});
如果字段为空 (''),有没有办法使用“any”或“all”,这样我就有条件地检索所有数据(如果过滤器字段存在)?