Mongoose populate() returns 填充文档的“_id”字段 "new ObjectId()"

Mongoose populate() returns the '_id' field of populated documents with "new ObjectId()"

所以我试图获取一组与特定用户相对应的公司成员文档,并在此过程中填充每个文档的公司字段。这里的目的是获取公司成员对应的每个公司文档的_idname字段。我已成功获取公司成员文档,但是,每个填充公司的 _id 字段 与“new ObjectId()”构造函数 如下所示:

The company members:  [
  {
    company: { _id: new ObjectId("6296180fj2a538be87f058f"), name: 'aaa' }
  }
]

当然,期望的结果是仅获取_id 内容而无需ObjectId() 构造函数。我已经尝试使用 的已接受答案中建议的 方法,但是,我得到了相同的结果 (这意味着 ObjectId() 构造函数没有消失):

// Fetch up to 10 company members and populate their companies.
let companyMembers = await CompanyMember.find({user: user_id}, {_id: 0, company: 1}).populate({
   path: 'company',
   match: { name: { $regex : new RegExp(company_name, "i") } },
   select: { _id: {"$toString": "$_id"}, name: 1 }
}).limit(10).exec();

你试过lean()功能了吗?