如何在firebase firestore中创建一个有子集合的集合?

gpfsuwkq  于 2023-01-02  发布在  其他
关注(0)|答案(2)|浏览(192)

我想知道如何在flutter中创建一个集合,它里面有一个子集合。我知道要创建一个集合,我使用下面的代码

firestore.collection('Collection').add({
    'EmployeeID': '123',
    'EmployerID': '234',
    'ProposalID': '456,
  }

但想要达到这样的目标

firestore.collection('Collection').add({
    'EmployeeID': '123',
    'EmployerID': '234',
    'ProposalID': '456,
    'Chats':**THIS IS A SUB COLLECTION**
  }

有人能帮帮我吗?

flseospp

flseospp1#

每个add操作一次只能写入一个文档,如果需要写入多个文档,则需要使用批写入操作。
如果您想在一次批处理写入中写入“父”文档和聊天子集合,可以通过为父文档生成UUID,然后在同一路径下创建聊天文档来实现。

var db= Firestore.instance();
var uuid = uuid.v1(); // see https://stackoverflow.com/a/15549397
firestore.collection('Collection').add(
var collectionRef = db.collection("Collection");
var batch = db.batch();
batch.setData(
  db.collection(’Collection’).document(uuid), {
    'EmployeeID': '123',
    'EmployerID': '234',
    'ProposalID': '456',
  })
);
batch.setData(
  db.collection(’Collection’).document(uuid).collection('Chats').document(uuid.v1()), {
    'Message': 'Hello world',
    'Timestamp': FieldValue.serverTimestamp()
  })
)
batch.commit();
pqwbnv8z

pqwbnv8z2#

首先需要获取一个特定的文档,然后将另一个collection方法链接到该文档的末尾,这将在该集合中创建一个文档:

firestore.collection('Collection').doc("myDocId").collection("Collection2").add({
    'EmployeeID': '123',
    'EmployerID': '234',
    'ProposalID': '456,
    'Chats':**THIS IS A SUB COLLECTION**
  }
``

相关问题