Невозможно добавить более одного поля в базу данных firestore, но оно работает нормально при добавлении одного поля - PullRequest
0 голосов
/ 02 июля 2018

МОЙ файл index.js:

const functions = require('firebase-functions');

const admin = require('firebase-admin');

admin.initializeApp(functions.config().firebase);

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {

 let action = request.body.result.action;

 var Name = request.body.result.parameters.Name;

 var Answer1 = request.body.result.parameters.Answer1;

  let query = request.body.result.resolvedQuery;

    const parameters = request.body.result.parameters; 

    const inputContexts = request.body.result.contexts; 



     if(action === 'save.name'  || inputContexts == 'welcome'  && action === 'save.answer1' || inputContexts == 'question1'){

                  admin.firestore().collection('users').doc('details').collection('user1').add({
                         name: Name ,
                       answer1 : Answer1

                    }).then(ref => {
                      console.log('Added new user');
                      console.log('name' +Name);
                      console.log('answer1' +Answer1);
                    });

    } 
});

Я получаю опечатку типа admin.firestore (...). Collection (...). Document.add не является функцией , когда я пытаюсь сохранить все данные пользователя под документ "детали". Этот код является просто попыткой проверить, возможно ли добавить больше полей в тот же документ! Я использую api v1 chatbot

1 Ответ

0 голосов
/ 09 июля 2018

Вы получаете эту ошибку, потому что метод add не поддерживается библиотекой Firestore. Вы ищете метод set. Измените эту строку:

admin.firestore().collection('users').doc('details').collection('user1').add({

к этому:

admin.firestore().collection('users').doc('details').collection('user1').set({
...