我正在执行一个登录系统,并由用户查询该条目,以验证该条目是否存在于Firestore中,如果找到他的输入,则将其登录到控制台。直到这部分一切都好为止,当他输入存在的内容时,它将带来他的数据。但是,当他输入不存在的内容时,它将输入一个空数组“ []”,这意味着不存在此类内容。我的问题很简单,当他的输入不存在时,我找不到合适的逻辑来控制台日志。
这是我的代码
pageLogin() {
var auxint = 0;
this.dataAux
let auxString = '[';
var query = firebase.firestore().collection("armazenaTest")
query.where('Documento.login', '==', this.User.login).get().then(res => {
res.forEach(item => {
if (item.exists) {
auxint++;
auxString += '{"id":"' + item.id + '","armazenaTest":' + JSON.stringify(item.data()) + '}';
if(item.get('Documento.login') == this.User.login){
console.log('Document found!: ', item.data())
}
}
if (res.size != auxint)
auxString += ', ';
})
auxString += ']';
this.dataJSON = JSON.parse(auxString);
console.log(this.dataJSON);
}).catch(err => {
console.log('An error occured ' + err);
});
}
答案 0 :(得分:2)
它应该像遍历结果之前检查结果一样简单:
query.where('Documento.login', '==', this.User.login).get().then(res => {
if (res.length < 1) {
console.log('no results!');
//probably break or return here
}
res.forEach(item => {
if (item.exists) {
auxint++;
auxString += '{"id":"' + item.id + '","armazenaTest":' + JSON.stringify(item.data()) + '}';
if(item.get('Documento.login') == this.User.login){
console.log('Document found!: ', item.data())
}
}