I have 2 models: Room and Category
this is Room Model
import mongoose from "mongoose"
const roomSchema = new mongoose.Schema({
name: {
type: String,
require: true
},
slug: {
type: String,
lowercase: true
},
image: {
type: String,
require: true
},
category: [{
type: mongoose.Schema.Types.ObjectId,
require: true,
ref: 'Category'
}],
product: [{
type: mongoose.Schema.Types.ObjectId,
require: true,
ref: 'Product'
}]
},
{
timestamp: true
}
)
export default mongoose.models.Room || mongoose.model('Room', roomSchema)
this is Category Model
import mongoose from "mongoose"
const categorySchema = new mongoose.Schema({
name: {
type: String,
require: true
},
slug: {
type: String,
lowercase: true
},
image: {
type: String,
require: true
},
product: [{
type: mongoose.Schema.Types.ObjectId,
require: true,
ref: 'Product'
}],
room: {
type: mongoose.Schema.Types.ObjectId,
require: true,
ref: 'Room'
},
},
{
timestamp: true
}
)
export default mongoose.models.Category || mongoose.model('Category', categorySchema)
I’m making an api route to get category detail and api route look like this
import { connect } from '@/backend/config/mongodb'
import { NextResponse } from "next/server"
import Category from '@/backend/models/Category'
import Room from '@/backend/models/Room'
connect()
export async function GET(req, { params }) {
try {
const { id } = params
const category = await Category.findById(id).populate({
path: 'room',
model: Room
})
console.log('???? ~ GET ~ category:', category)
console.log('???? ~ GET ~ category.room:', category.room)
if (!category) {
return NextResponse.json(
{ error: "Category not found!" },
{ status: 404 }
)
}
return NextResponse.json({
success: true,
category
})
} catch (e) {
console.log(e)
return NextResponse.json({
success: false,
message: "Đã xảy ra lỗi xảy ra! Vui lòng thử lại sau"
})
}
}
**When I log category which I populate Room model is undefined.
This is log that I showned
~ GET ~ category: { _id: new ObjectId(‘6630f8cc193d4c59d6ee36ec’), name: ‘test 2’, slug: ‘test-2’, image: ‘https://res.cloudinary.com/dq7vzcw0s/image/upload/v1714485449/nhaxinh/categories/1714485448557.jpg’, product: [], __v: 0 } ???? ~ GET ~ category.room: undefined
Please, help me find me the error**