在为Firebase函数编写一些函数时遇到了问题。我想找到存储在PFM中的具有最高值的用户并将其名称保存在变量中但变量不会更改。我做错了什么?
这是我的代码:
var highestPFM = 0;
var userToSend = "";
db.collection("users").get().then((snapshot) => {
snapshot.forEach((doc) => {
var data = doc.data();
if(highestPFM > data["pfm"]){
highestPFM = data["pfm"];
userToSend = doc.id;
}
});
console.log(prefixSendBottle + "User with highest PFM: " + userToSend);
return userToSend;
}).catch((err) => {
response.send(err);
console.log(err);
});
答案 0 :(得分:2)
您正在检查if(highestPFM > data["pfm"]){
...假设您只有pfm
的+ ve值,此条件永远不会成立,因此highestPFM
的值永远不会改变。
您需要将条件更改为if(data["pfm"] > highestPFM){
。