544250
在通过Model的构造函数得到的对象执行save方法时,mongoose是否会自动对数组中的对象添加_id字段?如果是这样,为什么会这样?
team Model的Schema
const teamSchema = new Schema({
owner:{
id:Schema.Types.ObjectId,
name:String,
},
leader:[
{
id:Schema.Types.ObjectId,
name:String,
taskCode:[
{
type:String,
}
],
}
],
teammate:[
{
id:Schema.Types.ObjectId,
name:String,
taskCode:[
{
type:String,
}
],
}
],
...
})
然后在执行
let teammate = [ { id: 59e8b4cf464f301bdc4379a4, name: 'useruser1' },
{ id: 59e8b4cf464f301bdc4379a5, name: 'useruser2' },
{ id: 59e8b4cf464f301bdc4379a6, name: 'useruser3' },
{ id: 59e8b4cf464f301bdc4379a7, name: 'useruser4' } ]
const newTeam = new Team({teamName,owner,leader,teammate,teamPlace,teamClass})
newTeam.save()
log(newTeam)
之后,log的结果是
{
...
teammate:
[ { id: 59e8b4cf464f301bdc4379a4,
name: 'useruser1',
_id: 59e8b4d0464f301bdc4379ac,
taskCode: [] },
{ id: 59e8b4cf464f301bdc4379a5,
name: 'useruser2',
_id: 59e8b4d0464f301bdc4379ab,
taskCode: [] },
{ id: 59e8b4cf464f301bdc4379a6,
name: 'useruser3',
_id: 59e8b4d0464f301bdc4379aa,
taskCode: [] },
{ id: 59e8b4cf464f301bdc4379a7,
name: 'useruser4',
_id: 59e8b4d0464f301bdc4379a9,
taskCode: [] } ],
...
实在想不明白,为什么teammate数组里面的对象会多出一个_id字段出来,求助各位大佬