populate란?
populate() 메서드는 MongoDB의 Mongoose 라이브러리에서 제공하는 기능 중 하나입니다. 이 메서드는 문서의 특정 필드를 다른 컬렉션에서 가져와 현재 쿼리된 문서에 추가합니다. 즉, populate()를 사용하면 참조 필드를 가진 문서에서 참조된 다른 모델의 데이터를 가져올 수 있습니다.
경비 명세서 스키마
const mongoose = require('mongoose');
const expense_Schema = mongoose.Schema(
{
requestor: {
type: mongoose.Schema.Types.ObjectId,
ref: "Employee",
default: null,
},
company: {
type: mongoose.Schema.Types.ObjectId,
ref: "Company",
default: null,
},
// 승인 매니저
approver: {
type: mongoose.Schema.Types.ObjectId,
ref: "Manager",
},
// 거절 매니저
rejector: {
type: mongoose.Schema.Types.ObjectId,
ref: "Manager",
},
},
{
timestamps: true,
}
);
const Expense = mongoose.model("Expense", expense_Schema);
module.exports = Expense;
populate로 참조하기
const expense = await dbModels.Expense.find(expenseQuery)
.sort(sortOption)
.skip((page - 1) * pageSize)
.limit(pageSize)
.populate("requestor", { username: true, email: true })
.populate("approver", { username: true, email: true })
.populate("rejector", { username: true, email: true });
'Server > MongoDB' 카테고리의 다른 글
| Image upload (0) | 2024.05.21 |
|---|---|
| s3 주소 노출 위험 방지하기 (0) | 2024.05.10 |