feizzer 2023-03-12 14:17 采纳率: 63.6%
浏览 20

mongo 批量更新 `实现不同id更新不同数据

如果我需要对mongo数据库中的数据进行整体更新, 但是不同id的数据期望更新的内容不一样, 比如`

{
  "id": 1,
  "info": "id-1" 
}
{
  "id": 2,
  "info": "id-2" 
}
//更新为
{
  "id": 1,
  "info": "id-1-new" 
}
{
  "id": 2,
  "info": "id-2-new" 
}

可以实现批量更新吗?
另外我在golang代码中使用 BulkWrite() , 1w条数据基本为60s。 这个时间正常吗? 我的golang代码

    for index, imageAvInfo := range imageAvInfos {
        models[index] = mongo.NewUpdateOneModel().
            SetFilter(bson.M{"imageID": imageAvInfo.ImageId}).
            SetUpdate([]interface{}{
                bson.M{"$set":bson.M{"scanTime":imageAvInfo.ScanTime}},
                bson.M{"$set":bson.M{"project":project}},
            }).
            SetUpsert(true)
    }
    opts := options.BulkWrite().SetOrdered(false)
    err := mgo.BulkWrite(models, opts)
  • 写回答

1条回答 默认 最新

  • threenewbee 2023-03-12 14:21
    关注

    1万条60秒,这个时间差不多啊。如果觉得慢,可以把别的程序关闭。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月12日

悬赏问题

  • ¥15 kafka无法正常启动(只启动了一瞬间会然后挂了)
  • ¥15 开发一个类似百度网盘的软件,在主页 文件列表点击进入文件夹,在文件夹里面还有文件夹,代码该怎么写?
  • ¥30 使用matlab将观测点聚合成多条目标轨迹
  • ¥15 Workbench中材料库无法更新,如何解决?
  • ¥20 如何推断此服务器配置
  • ¥15 关于github的项目怎么在pycharm上面运行
  • ¥15 内存地址视频流转RTMP
  • ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的