如何使用React Native在Firestore中添加2个集合?

时间:2019-02-07 08:12:43

标签: firebase react-native google-cloud-firestore

我想在React Native的Firestore中添加2个集合。 像JOIN可以用来添加2个表。 Firestore中的JOIN是否可以添加收藏集?

enter image description here

enter image description here

我想添加这两个集合用户 users_2 我怎样才能做到这一点?请帮助

1 个答案:

答案 0 :(得分:2)

在撰写本文时,无法在Firestore中跨集合查询文档(显然,这是路线图上的一项功能,但是,请参阅最近的博客帖子https://cloud.google.com/blog/products/databases/announcing-cloud-firestore-general-availability-and-updates-参见要点“即将推出更多功能很快”-)。

因此,这意味着您将必须发出两个查询(每个表一个,到get all the collection docs)并在前端将其结果合并/合并。

另一种方法是复制您的数据(这在NoSQL世界中很常见),并创建包含所有文档副本的第三个集合。

对于最后一种方法,您可以按如下方式使用Batched Write(使用Javascript):

// Get a new write batch
var batch = db.batch();

var docData = {email: 'test@gmail.com', fullname: 'John Doe'}

// Set the value of doc in users collection
var usersRef = db.collection('users').doc();
batch.set(usersRef, docData);

// Set the value of doc in the allUsers collection (i.e. the third collection)
var allUsersRef = db.collection('allUsers').doc();
batch.set(allUsersRef, docData);

// Commit the batch
return batch.commit().then(function () {
  // ...
});