Я пытаюсь добавить новое {field: value} для сообщения в блоге.Например, если я хотел начать отслеживать показы на веб-сайтах website.blog_posts.url: 'http://www.example.com/01.html', как добавить этот атрибут показов для этого сообщения в блоге?
Моя текущая структура документа:
{
email_address: 'webmaster@example.com',
password: 'random_password',
first_name: 'John',
last_name: 'Doe',
user_type: 'WEBMASTER',
newsletter: 'NO',
websites: [{
main_title: 'My Blog Website',
main_url: 'http://www.example.com',
blog_posts: [{
url: 'http://www.example.com/01.html',
title:'My first blog post',
description: 'My first description.'
}, {
url: 'http://www.example.com/02.html',
title: 'My second blog post',
description: 'My second description.'
}, {
url: 'http://www.example.com/03.html',
title: 'My third blog post',
description: 'My third description.'
}, {
url: 'http://www.example.com/04.html',
title: 'My fourth blog post',
description: 'My fourth description.'
}]
}]
}
Вот то, что я думал, будет работать с использованием обновления и создания истины TRUE.
db.my_collection.update ({'website.blog_posts.url': 'http://www.example.com/01.html'}, {'$ set ': {' website.blog_posts.impressions ': 549}}, true)
Полученная ошибка: * не удается добавить в массив, используя имя строкового поля [blog_posts] *
Может быть, "$ set" не подходит для этого или, может быть, я не могу ссылаться на это глубоко с точечной нотацией?Я только начал использовать MongoDB вчера, любая помощь будет отличной.
Спасибо!