sub schema 업데이트 방법 질문합니다.
321
작성한 질문수 4
const permissionSchema = new Schema({
page: { type: String },
permitted_users: [{
type: mongoose.Schema.Types.ObjectId,
ref: "User",
}],
});
const appSchema = new Schema({
name: { type: string },
permissions: [permissionSchema],
});
const userSchema = new Schema({
email: { type: string },
name: { type: string },
});
안녕하세요. 위의 스키마는 대략적인 필드만 나타낸 예시입니다. 여기서 파라미터(app_id, permission_id, user_id)를 클라이언트에서 받아서 permitted_users에 받은 user_id를 추가해주는 작업을 해주고 있습니다. (DB에 저장도 잘 됩니다.)
현재 controller와 service가 분리되어 있어서 controller에서 서비스로 addPermittedUser를 호출하면 업데이트된 결과를 받고 싶은데 어떻게 받아야할지 잘 모르겠습니다...
async와 await을 사용해서 return 도 해보았는데, MongooseError: Query was already executed 오류가 계속 발생해서 해결을 하지 못하고 있습니다...
// permissionService - addPermittedUser
exports.addPermittedUser = async (options) => {
const {app_id, permission_id, user_id } = options;
App.findById(app_id, (error, app) => {
if (error) {
console.log(error);
}
app.permissions.id(permission_id).permitted_users.push(user_id);
app.save();
});
};
접근 방향을 알려주실 수 있을까요?
답변 1
0
업데이트는 되는데 컨트롤러에서 return 값을 못 받고 계신 건가요?
const app = await App.findById(app_id);
app.permissions...(user_id);
return app.save();
하시면 안 되나요?
리눅스 노드 설치시 패키지
0
172
0
socket.js 에서 referer로부터 roomId를 가져올 때
0
926
3
스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문
0
2297
2
a[title] 질문드립니다
0
386
1
리뉴얼 강의 및 공부 방법
0
589
1
jwt decode
0
1138
1
node.js 교과서 3판 질문드립니다
0
396
1
passport와 jwt
0
438
1
리뉴얼 강의
0
428
2
혹시 Node.js 교과서 3판 이북은 언제 나오나요?
0
359
1
몽고디비 사용자도 MYSQL부분을 들어야 하나요???
0
488
1
sql 쿼리 로그는 어떤 모듈이 작성하나요?
0
511
2
nunjucks res.render('error'); 작동을 안합니다.
0
518
1
질문있습니다.
0
348
1
multer 한글 파일 업로드시 파일명이 깨져요.
1
3543
1
수업자료는 어디있나요?
0
374
1
질문 있습니디
0
244
1
multer 사용시 file 외 name값은 못받나용?
0
429
1
코드 중복 부분 질문드립니다.
0
303
1
api 만드는 이유 질문드립니다.
0
293
1
Strategy의 done에 대해 질문드립니다.
0
373
1
안녕하세요 fs 권한 관련 질문드립니다
0
456
1
시퀄라이즈 연결질문...
0
510
2
res.setHeader vs res.cookie
0
1797
3





