How can I populate the reference Field using Fires

2020-07-23 04:09发布

问题:

Do you know how I can populate the reference Field on a Document using Firestore?

回答1:

When you create / get a document reference, you can save this into another document. This example is for the Node SDK, but it should give you an idea of how to implement this for Android.

Creating a document reference

// Create the references
let myFirstDoc = db.collection('myCollection').doc();
let mySecondDoc = db.collection('otherCollection').doc();

let batch = db.batch();

// Save the two documents to the batch
batch.set(myFirstDoc, {someData: true});
batch.set(mySecondDoc, {firstDocRef: myFirstDoc});

// Commit the batch
return batch.commit()
  .then(response => {
    console.log('Data saved');
  })
  .catch(err => {
    console.error(err);
  });

Getting an existing reference

return db.collection('myCollection').doc('myDocId')
  .then(documentSnapshot => {
    let newDoc = db.collection('otherCollection').add({otherDoc: documentSnapshot.ref});
  })
  .then(response => {
    console.log('Data saved');
  })
  .catch(err => {
    console.error(err)
  })