[英]How to move a firestore document from one collection to another
这是否可以将文档从一个集合移动到 Firestore 数据库中的另一个集合? 我想这样做的原因是,当有人删除订单时,我想将其移动到deleted_order
的集合中,而不是删除整个文档以保留历史记录。 我想从我在Kotlin
开发的应用程序中执行此操作。
将文档从一个集合移动到另一个集合的唯一方法是使用以下序列,模仿“剪切和粘贴”:
换句话说,没有一种“元数据”附加到定义其父集合的文档,并且您可以通过一个简单的操作进行更改。
另一种方法是将所有order
文档放在一个唯一的集合中,并在一个字段中保存订单状态,例如active
或deleted
。 然后更改订单状态只是更新字段的问题。
请注意,这种方法不会对您的查询性能产生任何负面影响,因为 Firestore 查询性能与结果集的大小成正比,而不是数据集的大小。
private void insertAllFromOneCollectionIntoAnother(CollectionReference crFrom, CollectionReference crTo) {
QuerySnapshot querySnapshot = crFrom.GetSnapshotAsync().Result;
foreach (DocumentSnapshot documentSnapshot in querySnapshot.Documents) {
crTo.Document(documentSnapshot.Id.ToString())
.SetAsync(documentSnapshot.ToDictionary());
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.