因此,我尝试获取与特定用户相对应的一组公司成员文档,并填充流程中每个文档的公司字段。这里的目的是获取与公司成员对应的每个公司文档的 _id 和 name 字段。我已成功获取公司成员文档,但是,每个填充公司的 _id 字段与“new ObjectId()”构造函数一起返回如下图:
The company members: [
{
company: { _id: new ObjectId("6296180fj2a538be87f058f"), name: 'aaa' }
}
]
当然,期望的结果是仅获取_id内容,而不使用ObjectId()构造函数。我尝试使用 this StackOverflow post 接受的答案中建议的方法,但是,我得到了相同的结果(意味着 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();
最佳答案
您尝试过clean()
函数吗?
关于node.js - Mongoose populate() 返回填充文档的 '_id' 字段,值为 "new ObjectId()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72451420/