Как Nodejs может отправлять данные в реальном времени из Firebase в Angular - PullRequest
0 голосов
/ 13 февраля 2019

Я работаю с firestore с помощью nodejs и возвращаю данные в angular - (когда я работаю с данными angular, это будет в реальном времени, а с node - нет), поэтому я хочу angular слушать любые изменения в 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)
}

1 Ответ

0 голосов
/ 13 февраля 2019

Если вы хотите прослушивать из своего приложения Angular изменения / обновления в реальном времени в базе данных Cloud Firestore, вам необходимо установить прослушиватель либо для одного документа, либо для набора документов (то есть всей коллекции или запроса).

Стандартная документация Firestore по этому вопросу находится здесь: https://firebase.google.com/docs/firestore/query-data/listen. Это будет работать независимо от того, как выполняется модификация (пользователем или внутренним процессом, например, node.js).приложение или облачная функция).

С Angular вы, вероятно, будете использовать библиотеку AngularFire2 , и, в частности, методы, описанные в следующих документах:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...