从Firestore迅速删除地图

时间:2019-12-04 20:37:10

标签: swift firebase google-cloud-firestore

我的Firestore数据库具有以下结构:

库存(主要收藏)

食物(包含文档的文件)

id:1 (一个字段。)

产品(包含产品的地图)

(该地图包含有关鱼品的信息)

id (带有鱼的ID的字段)

以下是两种产品的示例:

inventory/food/products/fish

inventory/food/products/meat

例如,我希望从meat列表中删除地图products

我正在使用以下代码:

func deleteProductFromDb()
{
    if let firestoreDb = self.firestoreDb
    {
        firestoreDb.collection("inventory").document("food").updateData(["products.meat": FieldValue.delete()])
    }
}

我没有收到任何错误,但是meat映射并未从数据库中删除。

我在这里想念什么?

1 个答案:

答案 0 :(得分:0)

我已经按照您的描述创建了一个收藏集。

enter image description here

以下是删除地图"meat"的方法:

let FieldValue = require('firebase-admin').firestore.FieldValue;

let docRef = db.collection('inventory').doc('food');

let removeField = docRef.set({'products':
    {['meat'] : FieldValue.delete()}}, {merge: true});