Этот блестящий ответ от Soviut объясняет логические шаги, необходимые для использования проверки электронной почты для проверки и активации новых пользователей.
Однако, используя node.js
и mongoose
Я не уверен, какие шаги необходимы для сохранения документа, а затем второго документа, который ссылается на идентификатор первого документа.
- Есть ли способ сохранить оба документа одновременно?
- Нужно ли сохранять первый документ, а затем использовать
findOne
, чтобы найти его и скопировать его идентификатор во второй документ? ? - Есть ли передовая практика для такого рода проблем?
Вот 2 примера схемы, которые могут сделать это понятнее.
Новый пользователь:
const UserSchema = new mongoose.Schema({
email: {
type: String,
required: true
},
yourName: {
type: String,
required: true
},
businessName: {
type: String,
required: true
},
password: {
type: String,
required: true
},
active: {
type: Boolean,
default: false
}
});
Временный хэш, используемый для проверки:
const NewUserHash = new mongoose.Schema({
randomHash: {
type: String
},
// what is the best practice for getting the ID from a UserSchema document and saving it here?
referenceToUser: {
type: String
},
createdAt: {
type: Date,
default: Date.now,
expires: 7200
}
});