【发布时间】:2011-07-20 07:19:28
【问题描述】:
我有一个如下所示的文档:
{
"_id": 3,
"Slug": "slug",
"Title": "title",
"Authors": [
{
"Slug": "slug",
"Name": "name"
}
]
}
我想根据 Authors.Slug 更新所有 Authors.Name。 我试过了,但没有用:
.update({"Authors.Slug":"slug"}, {$set: {"Authors.Name":"zzz"}});
我在这里做错了什么?
【问题讨论】:
-
"{ "_id" : 3, "Slug" : "slug", "Title" : "title", "Authors" : [ "Slug" : "slug", "Name" : " name"] }" 不是有效文档。如果您提供示例数据,请提供 working 示例数据。
-
我错过了一些花括号。现在是有效文件。
-
这是我的问题。我想知道为什么更新不起作用
-
看一下“位置运算符”和$elemMatch
-
位置运算符正是我所需要的。这对更新有效: .update({"Authors.Slug":"slug"}, {$set: {"Authors.$.Name":"zzz"}});
标签: mongodb