我在集合中有一个文档,如下所示:
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 页,“更新元素而不指定其位置”。
谢谢你的帮助。
普拉敦