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 [];
                }
            }
        ],
....