次のようなコレクションにドキュメントがあります。
db.persons.insert ( {
name: {first: 'Nancy', last: 'Karin'},
gender: 'F',
yearOfBirth: 1992,
livesIn: 'Montreal',
countriesVisited: ['Canada', 'United States of America'],
languages: [
{name: 'English', proficiency: 'Fluent'},
{name: 'French', proficiency: 'Fluent'},
{name: 'German', proficiency: 'Intermediate'},
{name: 'Greek', proficiency: 'Intermediate'},
{name: 'Latin', proficiency: 'Intermediate'},
{name: 'Sanskrit', proficiency: 'Beginner'} ]
} )
次のコマンドでエラーが発生しています。
db.persons.update (
{'name.first': 'Nancy', 'name.last': 'Karin', 'languages.name': 'German'},
{$set: {'languages.?.name': 'Italian'} }
)
私が得るエラーメッセージは次のとおりです。
can't append to array using string field name: ?
私は自分が犯している間違いを見ることができません。上記のコマンドは、MongoDB 2.4.0 ドキュメントの 185 ページ「位置を指定せずに要素を更新する」に従っているようです。
ご協力いただきありがとうございます。
プラデュムン