我使用一个名为email ID的键在子级别上搜索记录,但它总是返回null。下面是我的收集数据库和查询。

exports.authVerfication = functions.https.onRequest((req,res)=>{
if(req.method!=='POST'){
return res.status(500).json({
message:'Not allowed'
});
}
const p3= db.collection('Users').where('state', '==', 'Kar').get();
const p2= p3.then(snapshot =>{
if (!snapshot.exists) {
res.status(204).send({message:'No users found'});
} else {
res.status(200).send(snapshot.data());
}
})发布于 2018-11-22 13:56:40
通过这样做:
const p3 = db.collection('Users').where('state', '==', 'Kar').get();
const p2 = p3.then(snapshot =>{})您得到的snapshot是一个QuerySnapshot (请参阅文档),并且这种对象没有exists属性。您应该使用empty属性。
正如在对您的问题的评论(我删除了)中所说,您可以用以下方法测试查询返回的结果:
const p3 = db.collection('Users').where('state', '==', 'Kar').get();
const p2 = p3.get()
.then(snapshot => {
snapshot.forEach(doc => {
console.log(doc.id, '=>', doc.data());
});
})
.catch(err => {
console.log('Error getting documents', err);
});https://stackoverflow.com/questions/53432099
复制相似问题