다음과 비슷한 사용자 스키마가있는 코드를보고 있습니다.다음 사용자 모델의 성 및 이름에 액세스하는 방법 (몽구스 기준)?
var UserSchema = new mongoose.Schema(
{
email: {
type: String,
lowercase: true,
unique: true,
required: true
},
password: {
type: String,
required: true
},
profile: {
firstName: {
type: String
},
lastName: {
type: String
}
}
}
);
는 지금까지 내가 이해할 수있는 최상위 속성은 이메일, 비밀번호 및 프로파일 .... firstName
및 lastName
만 profile
내에서 액세스 할 수 있어야합니다. 그러나 세부 사항은 다음과 같이 액세스됩니다. firstName
및 lastName
이 req.body.firstName
대신 req.body.profile.firstName
에 직접 액세스하는 이유
exports.register = function(req, res, next) {
// Check for registration errors
const email = req.body.email;
const password = req.body.password;
const firstName = req.body.firstName;
const lastName = req.body.lastName;
// Return error if no email provided
if (!email) {
return res.status(422).send({ error: 'You must enter an email address.'});
}
// Return error if no password provided
if (!password) {
return res.status(422).send({ error: 'You must enter a password.' });
}
// Return error if full name not provided
if (!firstName || !lastName) {
return res.status(422).send({ error: 'You must enter your full name.'});
}
...
이해하지 못하는 것 같습니다. 가상 속성도 존재하지 않는 것 같습니다. 그래서 무슨 일이야!?
이 등록 경로는 어떻게 호출됩니까? 나는 몽구스가 여기에서 역할을하는 것을 보지 못한다. 이것은 POST 요청을 통해 데이터를받는 경로처럼 보입니다. – DanielKhan
FYI,'passport'도 사용 중입니다. 나는 관련성이 있다고 생각하지 않았기 때문에 코드를 게시하지 않았다. 어쨌든, 이것은 또한 일어나는'var authRoutes = express.Router(); authRoutes.post ('/ register', AuthenticationController.register);'.... 여기서'register'는 위의 메소드입니다. – Grateful
'req'가 들어오는 요청과 관계없이. 이 POST 데이터가 몽구스에 저장되는 부분은 어디입니까? – DanielKhan