как добавить еще одну коллекцию данных с идентификатором do c в firebase, используя express node js - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь добавить еще одну коллекцию данных с идентификатором do c в firebase. Ниже указан путь к базе данных для ссылки.

screams/(doc_id)/(users)

, пожалуйста, найдите приведенный ниже вызов API для добавления данных. .

 app.post('/screams/:id',(req,res)=>{
   const mark ={
       Mark:req.body.Mark,
       Name:req.body.Name
   }
    db.collection('screams').doc(req.params.id).doc('users').add(mark)
    .then(doc=>{
        return res.status(200).json({handle: 'data added successfully'})
    })
})

когда я пытался добавить данные, это выдает ошибку

TypeError: db.collection(...).doc(...).add is not a function
    at app.post (/srv/index.js:141:49)

, пожалуйста, помогите мне разобраться в проблеме. если вы также можете предложить мне способ получить добавленные данные, было бы здорово:)

1 Ответ

0 голосов
/ 03 мая 2020

add() - это метод CollectionReference, но с

db.collection('screams').doc(req.params.id).doc('users')

вы не определяете CollectionReference, так как дважды вызываете метод doc() .


Вам необходимо вызвать collection() метод DocumentReference, определенный db.collection('screams').doc(req.params.id), следующим образом:

app.post('/screams/:id',(req,res) => {
   const mark ={
       Mark:req.body.Mark,
       Name:req.body.Name
   }
    db.collection('screams').doc(req.params.id).collection('users').add(mark)
    .then(docRef => {
        return res.status(200).json({handle: 'data added successfully'})
    })
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...