Этот ответ очень поможет.
let chatRef = db
.collection("chat_event").document("chat1")
.collection("messages").document("message1");
Если вы не хотите жестко кодировать идентификатор родительского документа или если вы хотите сгенерировать firestore, я бы. Затем сначала получите идентификатор из функции createId()
firestore.
let chatEventId = db.createId();
let chatRef = db
.collection("chat_event").document(chatEventId)
.collection("messages").document("message1");
Вы все равно можете использовать автоматически сгенерированный идентификатор для документа подколлекции:
let chatEventId = db.createId();
let messageId = db.createId();
let chatRef = db
.collection("chat_event").document(chatEventId)
.collection("messages").document(messageId);
Обратите внимание, что автоматически сгенерированные идентификаторы firestore полностью случайным образом, и, следовательно, документы не хранятся в хронологическом порядке. Если вам все равно понадобится какой-то порядок, вы можете добавить метки времени к этим документам либо при вставке данных, либо при обновлении документа с помощью информации о метке времени.
docRef.update({
timestamp: firebase.firestore.FieldValue.serverTimestamp()
});
С этим вы можете упорядочивать в хронологическом порядке как в консоли, так и в ваших собственных запросах.
Ознакомьтесь с этим ответом для получения дополнительной информации об авто- создание идентификаторов