Это просто невозможно в пожарном депо. Есть похожий вопрос здесь . Вам необходимо разделить данные на публичные c (постоянные) и личные данные (непостоянные). Одним из возможных решений будет -
- . От клиента pu sh личные данные, которые содержат securityCode, в новую коллекцию под названием securityCodes и сохранение идентификатора новой записи. Поскольку вы не хотите, чтобы эта информация была доступна кому-либо, вы можете добавить правило безопасности
match /securityCodes/{securityCode} {
// No one can read the value from this collection, but only create
allow create: true;
}
В ваших опубликованных данных c добавьте идентификатор ранее добавленного документа
data = {
id: 'dSXYdieiwoDUEUWOssd',
text: 'Hi dear how are you',
date: new Date(),
securityId: <id of the secretCode entry>
}
В ваших правилах безопасности получите секретный код, используя идентификатор безопасности, который вы отправляете вместе с данными c. Пример -
match /collectionId/documentId {
allow create: if get(/secretCodes/$(request.resource.data.secretId)) == 'someknowncode'
}