You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mongoose新版本中execPopulate()方法是否已被官方废弃?

execPopulate() 废弃说明

是的,execPopulate() 方法已经在 Mongoose 6.0 及更高版本中被正式移除,该方法原本用于执行文档关联填充的逻辑,已经被整合到 populate() 方法内部。

Mongoose 6.0 之后,文档实例调用 populate() 会直接返回 Promise,无需再链式调用 execPopulate() 触发执行,这就是你收到 execPopulate() is not a function 报错的直接原因。

代码修复方案

你只需要删除代码中的 execPopulate() 调用即可正常运行,修改后代码如下:

main()

const main = async () =>{
    const task = await Task.findById('614ac31e103d9c5329d38686')
    await task.populate('owner')
    console.log(task.owner)
}

你也可以直接在查询阶段就完成关联填充,写法更简洁:

main()

const main = async () =>{
    // 查询时直接调用populate,无需后续单独处理
    const task = await Task.findById('614ac31e103d9c5329d38686').populate('owner')
    console.log(task.owner)
}

内容的提问来源于stack exchange,提问作者Rohit Prajapati

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 13:15:03