我知道如何检查数组是否包含给定的字符串(例如here的说明)。但是我的要求是不同的:我在服务器端编写了一个数组 updatedByHistoryArray 的文档,其中包含所有更新了该文档的用户的ID的历史记录,例如 [id1,id2 ,...,idn] 。
仅当文档已由要删除该文档的用户专门更新时,我才允许对其进行删除操作。 因此,例如,如果具有id24的用户想要删除文档,则此文档的updatedByHistoryArray必须为[id24,id24,...,id24]。
是否可以在Firestore的安全规则中实施此要求?
答案 0 :(得分:1)
这听起来可能。尝试使用hasOnly()来查看列表字段是否仅包含一个用户ID。
CREATE TRIGGER verifier_date
BEFORE INSERT ON emprunter
FOR EACH ROW
BEGIN
if NEW.dateRetEff < NEW.dateEmpr then
SET NEW.dateEmpr = NEW.dateEmpr + INTERVAL 10 DAY;
end if;
END;