Mã này là về tìm nạp dữ liệu từ MongoDB và thay đổi phần tử '_id' thành 'id element. Nhưng tôi thấy mảng đối tượng không thay đổi.mảng đối tượng javascript không được thay đổi
router.get('/loadList', (req,res) => {
Post.find({}, (err, list) => { //fetching data to list
if(err) {
return res.json({success : false});
} else {
let new_list;
//change _id to id
new_list = list.map((obj) => {
obj.id = obj._id;
delete obj._id;
return obj;
});
console.log(new_list);
/*
// _id is still here and id is not created
[{_id: '58e65b2d1545fe14dcb7aac5',
title: 'asdfassafasdf',
content: 'dfasfdasdf',
time: '2017-04-06T15:13:49.516Z',
writer: { _id: '100975133897189074897', displayName: 'Kiyeop Yang' },
coords: { y: '310.3999786376953', x: '139' },
__v: 0 } ]
*/
nhưng công việc mã này là những gì tôi muốn
let list2 = JSON.parse(JSON.stringify(list));
new_list = list2.map((obj) => {
obj.id = obj._id;
delete obj._id;
return obj;
});
console.log(new_list);
/*
// _id is deleted and id is created
{ title: 'asdfassafasdf',
content: 'dfasfdasdf',
time: '2017-04-06T15:13:49.516Z',
writer: { _id: '100975133897189074897', displayName: 'Kiyeop Yang' },
coords: { y: '310.3999786376953', x: '139' },
__v: 0,
id: '58e65b2d1545fe14dcb7aac5' } ]
*/
return res.json({
success : true,
list
});
}
});
});
Tôi nghĩ rằng nó liên quan đến bản sao sâu và nông. Nhưng tôi không biết nguyên nhân chính xác là gì.
Cảm ơn