我通过nodejs处理firestore并将数据返回给angular-(当我使用angular处理数据时,它将是实时的,而使用node则不是) 所以我想倾听Cloud Firestore上的所有更改。
/**
* this is a route to call function get user By email
*/
router.get('/by/email/:email', (req,res)=>{
//define email user
let email = req.params.email;
//check email param
if(!email){ return res.status(400).json({message:'EMAILISMISSING'}) }
//call function get user by email
userRef.getByEmail(email, (error,user)=>{
if(error){ return res.status(400).json(error); }
else{
return res.status(200).json(user)
}
})
})
/**
* this is the function bring user by email
* @requires email
* @returns @callback
*/
exports.getByEmail = (email,callback)=>{
userRef.where('email','==',email)
.get()
.then(user=>{
user = fb.renderMultiDocs(user);
if(!user.length) { return callback(false,null)}
return callback(false,user[0]);
})
.catch(error=>{
return callback(error,false)
})
}
/**
* this angular function to call by/email route and return
*/
getUserByEmail(email):any{
return this._http.get(environment.api+'by/email/'+email)
}
答案 0 :(得分:0)
如果您想从Angular应用程序中监听Cloud Firestore数据库中的实时更改/更新,则需要为一个文档或一组文档(即整个集合或查询)设置一个监听器。
此时,标准的Firestore文档在这里:https://firebase.google.com/docs/firestore/query-data/listen。这将独立于修改的执行方式(由用户或由后端流程,例如node.js应用或Cloud Function)执行。
使用Angular,您可能会使用AngularFire2库,尤其是以下文档中描述的技术: