使用mongoose 查詢數(shù)據(jù)列表后修改數(shù)據(jù)不成功
原因是mongoose查出來的數(shù)據(jù)表明是單層對象數(shù)據(jù),實際它是一個多層對象數(shù)組
[{
'$__': InternalCache {
activePaths: [ctor],
skipId: true,
validationError: [Error]
},
'$isNew': false,
_doc: {
key: 'zhangsan'
},
'$errors': { _id: [ValidatorError] },
key2: 'xinzeng'
},
{
'$__': InternalCache {
activePaths: [ctor],
skipId: true,
validationError: [Error]
},
'$isNew': false,
_doc: {
key: 'lisi'
},
{
'$__': InternalCache {
activePaths: [ctor],
skipId: true,
validationError: [Error]
},
'$isNew': false,
_doc: {
key: 'wangwu'
},
'$errors': { _id: [ValidatorError] },
key2: 'xinzeng'
}
]
所以想要更改數(shù)據(jù),必須更改_doc對象里面的數(shù)據(jù),
var result = userCasterList.map((item) => {
var obj= {...item._doc};
obj.age = 18;
return obj;
})
console.log(result);//[{key:'zhangsan',age:18},{key:'lisi',age:18},{key:'wangwu',age:18}]