_첫 λ²μ§Έ: μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν ν΄κ²° λ°©λ²:_
Model.findOne({id: 'blabla'}).select('email password createdAt').lean().exec()
createdAt
μμ λ§λ£(TTL 24h
) λ° κΈ°λ³Έ( Date.now
) κ°μ΄ μλ Users
λ₯Ό μ¬μ©νμ¬ μμ± μλ‘ μμ±λ μ¬μ©μμ λ μ§ μ 보μ
λλ€.
μ¬μ©μκ° κ³μ μ νμ±ννλ©΄ μμ€ν
μμ createdAt
νλλ₯Ό μ κ±°ν©λλ€.
μ¬μ©μκ° κ³μ μ νμ±ννμ§ μμΌλ©΄ μμ€ν
μ 24μκ° νμ Users
컬λ μ
μμ κ³μ μ μ κ±°ν©λλ€.
λ΄ μΈμ¦ μμ
μμ λλ λ¨Όμ createdAt
νλμ μ‘΄μ¬λ₯Ό νμΈν©λλ€.
μ¬μ©μκ° νμ±νλμ§ μμ κ²½μ° Account is not activated.
μ κ°μ λ©μμ§λ₯Ό νμν©λλ€.
μμ μΈμ¦ μ μ°¨λ₯Ό μν΄ FindOne
λ°©λ²μ μλνλ©΄ μ¬μ©μκ° μμ μ κ³μ μ νμ±ννκΈ° λλ¬Έμ λ¬Έμμ createdAt
νλκ° μμ§λ§ Date.now
κ°μ μ»μ΅λλ€. .
λ΄ User
λͺ¨λΈμ createdAt
νλ:
createdAt: { type: Date, expires: '24h', default: Date.now },
λ΄ λ°©λ²:
Users.findOne({email: username}, 'email, password, createdAt', function(err, user) {
μμ λ°©λ²μ μ¬μ©νλ©΄ createdAt
κ°μ΄ λ§€λ² λ°νλ©λλ€.
μΆμ : λ¬Έμ λ₯Ό κ²μνμ§λ§ μ무 κ²λ ν μ μμμ΅λλ€.
μ΄κ²μ΄ λ°λ‘ κΈ°λ³Έκ°μ΄ μλνλ λ°©μμ
λλ€. λ¬Έμμ createdAt
νλκ° μμΌλ©΄ λͺ½κ΅¬μ€κ° νλλ₯Ό μΆκ°ν©λλ€. μ λ¬Έμλ₯Ό λ§λ€ λ createdAt
λ§ μΆκ°νλ €λ κ²½μ°:
schema.pre('save', function(next) {
if (this.isNew) {
this.createdAt = Date.now();
}
next();
});
λν Users.findOne({email: username}, 'email, password, createdAt' /** <-- remove commas here */)
νλ‘μ μ
μ νλλ₯Ό μΌνλ‘ κ΅¬λΆνμ§ μλ κ²μ΄ μ’μ΅λλ€.
κ°μ λ¬Έμ κ° λ°μνμ΅λλ€.
@ vkarpov15 κ·Έλ° μμΌλ‘ μλν΄μλ μλ©λλ€. μ μ₯ν λ κΈ°λ³Έκ°μ΄ μ€μ λμ΄ μμ§λ§ λ¬Έμκ° find
μΌ λ μ€μ νλ κ²μ μ€μ λ‘λ DBμ μ μ₯λ μ νν λ°μ΄ν°λ₯Ό λ°νν΄μΌ νκΈ° λλ¬Έμ μ€ν΄μ μμ§κ° μμ§ μμ΅λκΉ? λλ λ¬Έμ λ₯Ό μ¬κ°νλ λ° ν¬νν κ²μ
λλ€.
λ°λμ κ·Έλ° κ²μ μλμ§λ§, λͺ½κ΅¬μ€λ λ¬Έμκ° dbμ μ μ₯λ μ νν λ°μ΄ν°λ₯Ό λνλ΄μ§ μλ κ³³μ΄ λ§μ΅λλ€: getter, virtuals, λ±λ±. μ΄λ μͺ½μ΄λ , μ°λ¦¬λ μ΄ λμμ μ£Όμ₯νκ³ κ·Έκ²μ λ³κ²½νλ©΄ λ§μ μ¬λλ€μ μ½λκ° μμλ κ²μ λλ€. λ³κ²½ μκ΅¬κ° λ§μ§ μλ ν λ³κ²½νμ§ μμ΅λλ€. ν΄κ²° λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€.
createdAt: {
type: Date,
default: function() {
if (this.isNew) { return new Date(); }
return undefined;
}
}
μ΄κ²μ κ·Έλμ κ·Έκ²μ λ§λ€ κ²μ
λλ€ createdAt
λ°μ΄ν°λ² μ΄μ€μ μ μ₯νλ κ²½μ°μλ§ μ€μ λμ΄ μμ§λ§ μ μμ΅λλ€ undefined
λΉμ μ DBμμ λ¬Έμλ₯Όλ‘λνλ κ²½μ° createdAt
μλλ€ μΈνΈ.
κ°μ₯ μ μ©ν λκΈ
κ°μ λ¬Έμ κ° λ°μνμ΅λλ€.
@ vkarpov15 κ·Έλ° μμΌλ‘ μλν΄μλ μλ©λλ€. μ μ₯ν λ κΈ°λ³Έκ°μ΄ μ€μ λμ΄ μμ§λ§ λ¬Έμκ°
find
μΌ λ μ€μ νλ κ²μ μ€μ λ‘λ DBμ μ μ₯λ μ νν λ°μ΄ν°λ₯Ό λ°νν΄μΌ νκΈ° λλ¬Έμ μ€ν΄μ μμ§κ° μμ§ μμ΅λκΉ? λλ λ¬Έμ λ₯Ό μ¬κ°νλ λ° ν¬νν κ²μ λλ€.