kossnocorp / typesaurus

🦕 Type-safe TypeScript-first ODM for Firestore
https://typesaurus.com
412 stars 34 forks source link

Batch write isn't working as expected when updating arrays #136

Open drewdearing opened 2 months ago

drewdearing commented 2 months ago

I'm trying to use batched writes to do the following operation. The item gets removed but the array is not updated. This works in vanilla firestore.

const commit = batch(db);

const sceneID = ######;
const layoutID = ######;
const itemID = #####;

//remove item doc from scene subcollection
commit.layouts(layoutID).scenes(sceneID).items.remove(itemID);

//remove item id from item field in scene
commit.layouts(layoutID).scenes.update(sceneID, ($) =>
    $.field("items").set($.arrayRemove(itemID))
);

commit();