Node.js 如何使用Mongoose.populate-它不';行不通
有人能帮我吗? 我有两个模式和模型(我添加了完整版本的代码以明确说明): 我有一个停车场,场地“房屋”有两个房屋目标:Node.js 如何使用Mongoose.populate-它不';行不通,node.js,mongoose,mongoose-populate,Node.js,Mongoose,Mongoose Populate,有人能帮我吗? 我有两个模式和模型(我添加了完整版本的代码以明确说明): 我有一个停车场,场地“房屋”有两个房屋目标: { isDeleted: false, houses: [ 60aaa827ec89de07e0fb8db1, 60aaa827ec89de07e0fb8db2 ], _id: 60aaa827ec89de07e0fb8db3, levels: 2, beginDate: '2021-09-23T19:07:45.190Z', endDate: '202
{
isDeleted: false,
houses: [ 60aaa827ec89de07e0fb8db1, 60aaa827ec89de07e0fb8db2 ],
_id: 60aaa827ec89de07e0fb8db3,
levels: 2,
beginDate: '2021-09-23T19:07:45.190Z',
endDate: '2023-05-23T19:07:45.194Z',
developer: 5ecd1c2590de761738c029a3,
apartmentComplex: 5ecd20b290de761738c029ad,
__v: 0,
id: '60aaa827ec89de07e0fb8db3'
}
但如果我这样做:
getParkingComplex: async (parent, {uuid}) => {
const data = await ParkingComplexModel.findById(uuid).exec()
console.log(data)
return data;
}
getParkingComplex: async (parent, {uuid}) => {
const data = await ParkingComplexModel.findById(uuid)
.populate('houses')
.exec()
console.log(data)
return data;
}
我得到一排空的“房子”:
{
isDeleted: false,
houses: [],
_id: 60aaa827ec89de07e0fb8db3,
levels: 2,
beginDate: '2021-09-23T19:07:45.190Z',
endDate: '2023-05-23T19:07:45.194Z',
developer: 5ecd1c2590de761738c029a3,
apartmentComplex: 5ecd20b290de761738c029ad,
__v: 0,
id: '60aaa827ec89de07e0fb8db3'
}
我做错了什么?谢谢你的帮助 您是否可以…因为您将houses的默认返回值设置为空数组
...
houses: [
{
type: Schema.Types.ObjectId,
ref: 'House',
default: () => {
return [];
}
}
],
....
...
houses: [
{
type: Schema.Types.ObjectId,
ref: 'House',
default: () => {
return [];
}
}
],
....