Я пытаюсь перейти с Mon go на FireStore. Я стараюсь, чтобы мои API работали стабильно. У меня возникают проблемы с выяснением, как получить только что созданный документ (добавленный в коллекцию) в FireStore. Вот что у меня есть:
loginRouter.route("/create/:email").post((req, res) => {
const email = req.params.email
const returning = req.query.returning || false
if (email) {
loginsRef.add({
email,
loginDate: new Date(),
returning
})
.then(snapshot => {
loginsRef.get(snapshot.id).then(login => {
console.log(login.id)
res.status(200).send(login)
}).catch(err => {
console.log(err)
res.status(204)
})
})
.catch(err => {
serverLogger({ route: "api/logins/create", message: err })
res.status(500).send("Trouble creating login")
})
} else {
serverLogger({ route: "api/logins/create", message: "No email" })
res.status(400).send("Please include an email")
}
})
Этот код успешно создаст документ входа в FireStore и вернет идентификационный номер документа. Затем я хотел бы получить этот полный объект обратно из FireStore, что, как я знаю, вы не можете сделать в вызове create. Прямо сейчас второй вызов возвращает undefined
. Я ожидал получить полный документ обратно на вызов. Я хотел бы, чтобы это происходило из базы данных, а не только из памяти, основанной на успешном обращении к FireStore, в качестве доказательства концепции для более сложных конечных точек. Любая помощь будет принята с благодарностью.