【问题标题】:How to add data to a particular document in a subcollection in firestore database?如何将数据添加到firestore数据库子集合中的特定文档?
【发布时间】:2018-07-05 09:47:59
【问题描述】:

我的 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;
  let params = request.body.result.parameters;
  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('MYuser1').add({
      name: Name,

    }).then(ref => {
      console.log('Added new user');
      console.log('ref id is:' + ref.id);

      admin.firestore().collection('users').doc('Details').collection('MYuser1').doc(ref.id).add({
        //here I'm using doc(ref.id) to get that document
        answer1: Answer1,
      })
    });
  }
});

我可以使用此代码将名称添加到子集合中,但我下次尝试将 answer1 添加到子集合内的同一文档中,但它会在此语句上引发错误,

admin.firestore().collection('users').doc('Details').collection('MYuser1').doc(ref.id).add({

错误看起来像:

我正在使用 api v1 机器人!

【问题讨论】:

  • 请不要显示代码和错误的图片。最好将文本复制到问题中,以便于阅读和搜索。

标签: javascript firebase google-cloud-firestore google-cloud-functions dialogflow-es


【解决方案1】:

文档引用中没有add() 方法。这是您的文档参考:

admin.firestore().collection('users').doc('Details').collection('MYuser1').doc(ref.id)

这样,您就可以尝试在其上调用add() 方法。 add() 用于集合,您可以使用它向集合中添加文档。

我不清楚您在该行上要做什么,因为您之前已经添加了该文档。如果您有更多字段要添加到该文档,那么在您第一次在 MyUser1 集合上调用 add() 时将它们全部添加是有意义的。

【讨论】:

  • 我已经在一个集合中创建了一个只有一个字段“name”的文档,现在我想将其他字段说“Answer1”添加到具有 name 字段的同一个文档中,为此我尝试了这个询问。我什至尝试在添加名称时同时添加所有字段,但出现“未处理的拒绝”之类的错误。所以我试着一一添加它们!比如 --->>admin.firestore().collection('users').doc('Details').collection('MYuser1').add({ name: Name , answer1 : Answer1 }
猜你喜欢
  • 1970-01-01
  • 2021-12-24
  • 1970-01-01
  • 2021-01-18
  • 1970-01-01
  • 2020-01-05
  • 2021-09-25
  • 2021-08-10
  • 2018-05-10
相关资源
最近更新 更多