Я использую Node.js и Mongoose для хранения некоторых данных. После обновления у меня есть следующая структура:Mongoose, Изъятие свойства из модели
{ created: Mon, 30 Jan 2012 19:25:57 GMT,
_id: 4f21a6028132fba40f0000b7,
features:
{ imdb_id: 'tt0822975',
released: '2007-03-24',
tvdb_id: 103191,
type: 'series',
names: [ 'DinoSapien' ],
pictures: [],
cast: [],
genres: [ 'Action and Adventure', 'Children' ] },
type: 1 }
Мне нужно удалить, например. cast
и pictures
Поле на этом документе. Тем не менее, я применил решение, чтобы удалить пустые массивы из базы данных, но он не работает:
instance = (an instance from calling findOne on my model)
cast = (an array)
if (cast && cast.length > 0){
instance.features.cast = cast;
} else {
delete instance.features.cast;
}
console.log(cast); // null
console.log(instance), // cast is not removed!
Можно ли удалить пустые массивы или ненужные значения из модели при сохранении в БД?
Кажется, что вы не можете сделать это с помощью полей типа ObjectId, но с хорошим мышлением! :) – panosru