Я, вероятно, с видом на самое простое решение, но я пробовал все, что мог найти или найти в Интернете.JavaScript добавить свойство к объекту
Я пытаюсь добавить свойство к моему объекту JSON, который мне нужен в моем представлении. Но независимо от того, что я пытаюсь добавить свойство, оно не отображается в моем объекте. Я проверил, что переменная doc является фактическим объектом.
Отсутствие ошибок в консоли. Console.log() показывает содержимое объекта doc и ничего больше.
Кто-нибудь знает, что происходит?
Blog.findOne({'slug': req.params.slug}, function(err, doc) {
if (!err){
if(_.isEmpty(doc)) { res.status(404).json({ response: "Nothing found here." }); } else {
var blogPost = doc;
blogPost.someProperty = 'test';
console.log(blogPost); // doesn't contain new property
res.status(200).json({ response: blogPost });
}
} else { throw err; }
});
Выход BlogPost/док
{
"response": {
"_id": "55e31854823389ec1f5506fc",
"title": "A sample post.",
"slug": "a-sample-post2",
"body": "Hello world. This is a sample post. \n\nThis should be a new paragraph.",
"__v": 0,
"date": "2015-08-30T14:51:00.836Z"
}
}
Простой тест, как в браузере работает. Поэтому я действительно запутался, почему он не работает в моем приложении NodeJS. Что-то делать с callbacks/async или что-то еще?
var test = {};
test.prop = "test";
console.log(test);
Object {prop: "test"}
Любые ошибки в консоли? содержит ли он какие-либо свойства? – Amit
@ Не допускайте ошибок консоли и да, она содержит то, что содержит исходный «doc», но не более того. –
Интересно, установлен ли внутренний атрибут [[Extensible]] объекта false? –