我有一份文件看起来像这样:

{
    "_id": 3,
    "Slug": "slug",
    "Title": "title",
    "Authors": [
        {
            "Slug": "slug",
            "Name": "name"
        }
    ]
}

我想更新所有作者.根据作者命名.鼻涕虫

.update({"Authors.Slug":"slug"}, {$set: {"Authors.Name":"zzz"}});

我做错了什么?

推荐答案

.update(Authors:{$elemMatch:{Slug:"slug"}}, {$set: {'Authors.$.Name':"zzz"}});

Mongodb相关问答推荐

使用mongosh将大型json文件插入到mongo集合中

MongoDB—基于数组中同一文档中的另一个字段更新字段

mongoose正在抛出Schema的错误has';t已在next.js中注册

所有文档中嵌套 struct 中的条件匹配-mongodb

Mongo,通过 Lookup 计算多个文档中数组中的项目

如何向所有文档添加一个字段,其中前 100 个文档的值为 1,接下来的 100 个文档的值为 2,依此类推?

将数据从一个集合插入另一个集合的聚合

Mongo:查找具有 0 个关联文档的文档,成本更低

Mongoose - $project 嵌套的对象数组到数组的根级别

MongoID find 或 find_by

子文档上的mongoose唯一索引

在一个变量上运行的 Node JS 中使用正则表达式的 Mongo 查询

Meteor mongo 驱动程序可以处理 $each 和 $position 运算符吗?

带有 mongodb 和 nodejs 的实时 Web 应用程序

如何在 MongoDb 中使用杰克逊将日期字段存储为 ISODate()

将 mongoose 字符串模式类型默认值设为空白并使该字段可选

Golang/mgo:如何让 MongoDB 在字段中使用当前时间?

如何使用 java 驱动程序更新 mongo db 中的文档字段?

如何在 Mongoose 中更新数组值

如何使用服务器实例指定 mongodb 用户名和密码?