Я использую Mongoose и хочу удалить свойство _id
из своего экземпляра Mongoose перед отправкой ответа JSON клиенту.
Пример:
var ui = _.clone(userInvite);
delete ui["_id"];
console.log(JSON.stringify(ui)); //still has "_id" property, why?
предыдущий не сработал.
Однако, если я это сделаю:
var ui = JSON.parse(JSON.stringify(userInvite)); //poor man's clone
delete ui["_id"];
console.log(JSON.stringify(ui)); //"_id" is gone! it works!
Я не понимаю, почему вызов delete
для клонированного объекта с использованием Underscore не работает, но еслиЯ делаю хакерский JSON.string / JSON.parse, это работает.
Есть мысли об этом поведении?