Я хочу создать «приглашения» на основе адресов электронной почты, чтобы, когда пользователь с таким адресом электронной почты прибывал в систему, его приглашения уже ждали его.
, поэтому я хотел создать коллекцию приглашенийс ключом, основанным на groupId + '_' + invited_user_email
, но если пользователь test@test.com
, то .com
интерпретируется как подраздел: (
Я пробовал groupId + '_' + invited_user_email.replace(/[.]/g,'\\.')
, но это тоже не помогло.
Чего мне не хватает? Нет ли способа включить «.» В идентификатор документа пожарного депо?
РЕДАКТИРОВАТЬ: согласно запросу Дуга Стивенсона, вот код, который я сейчас использую:
var invitedUserEmailAsKey=invitedUserEmail.replace(/[.]/g,'\\.')
var batch = db.batch();
var groupRef = db.collection("groups").doc(groupId);
var invitationRef = db.collection("invitations").doc( groupRef.id + '_' + invitedUserEmailAsKey);
var groupUpdates = {};
groupUpdates['invited.' + invitedUserEmailAsKey + '.user_name'] = invitedUserName;
groupUpdates['merge'] = true;
batch.update(groupRef, groupUpdates);
Проблемы с обновленным документом в коллекции групп. В итоге он выглядит следующим образом: ![enter image description here](https://i.stack.imgur.com/FQL3H.jpg)
вместо ключа somebody@gmail.com