第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果文檔已存在 firestore 批處理,則阻止更新

如果文檔已存在 firestore 批處理,則阻止更新

動漫人物 2022-10-13 19:13:02
我有一個程序在firestore上對集合執(zhí)行批量寫入。我僅在集合中不存在 is 時才嘗試編寫文檔,如果存在則跳過而不修改任何內(nèi)容。安全規(guī)則如下:rules_version = '2';service cloud.firestore {  match /databases/{database}/documents {    match /collection/{id} {      allow create,delete: if request.auth.uid != null;    }  }} 在測試工具上進行測試時,它按預(yù)期工作。我只被允許在這個集合中創(chuàng)建和刪除文檔。但是,當從程序運行時,如果已經(jīng)存在,批量寫入能夠修改文檔字段(在這種情況下為戳記)。代碼如下:var batch = firestore.batch();var docRef= firestore.collection("collection").doc(data.id);batch.set(    docRef,{        id: data.id,        stamp: new Date(),    },);我錯過了什么,或者做錯了什么?
查看完整描述

2 回答

?
守著一只汪

TA貢獻1872條經(jīng)驗 獲得超4個贊

您可以先檢查文檔是否存在,然后僅在不存在時才寫入


docRef.get().then(doc => {

    if (!doc.exists) {

        batch.set(docRef, {

            id: data.id,

            stamp: new Date(),

        });

    }

});


查看完整回答
反對 回復(fù) 2022-10-13
?
胡子哥哥

TA貢獻1825條經(jīng)驗 獲得超6個贊

從您的評論看來,您正在使用 Admin SDK 在 Node.js 環(huán)境中運行此代碼。當您使用 Admin SDK 時,它會以提升的管理權(quán)限訪問 Firebase,并繞過您指定的安全規(guī)則。

有了這些知識,您的行為似乎正在按預(yù)期工作。


查看完整回答
反對 回復(fù) 2022-10-13
  • 2 回答
  • 0 關(guān)注
  • 89 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號