doulu8537 2019-01-18 12:08
浏览 420

如何使用Mongodb在Golang中使用批量更新获取更新的文档ID

I am working on a golang project. I am using MongoDB database. I need to get the all documents ids with the bulk update function. I am using mgo golang package with the code below:

package main

import (
   "fmt"
   "gopkg.in/mgo.v2/bson"
   "gopkg.in/mgo.v2"
)
type QueryStruct struct{
   Selector    bson.M
   Query       bson.M   
}

func main(){
   session, err := mgo.Dial("127.0.0.1")
   if err != nil {
      panic(err)
   }

   defer session.Close()

   session.SetMode(mgo.Monotonic, true)
   var queries []QueryStruct
   for i:=1; i<=400; i++{
      var query QueryStruct
      query.Selector = bson.M{"country":"US"}
      query.Query = bson.M{"$set":bson.M{"serial_number":i}}
      queries = append(queries, query)
   }
   c := session.DB("test").C("people")
   bulk := c.Bulk()
   for _, queryVal := range queries{
       bulk.UpdateAll(queryVal.Selector, queryVal.Query)
   }
   data, err := bulk.Run()
   fmt.Println(data)
   fmt.Println(err)
}

I am getting the output like this:

&{117 117 false}
<nil>

I need to get the updated document ids to maintain the logs if any entry is not updated.

Can anybody suggest me how I can achieve this?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 HLs设计手写数字识别程序编译通不过
    • ¥15 Stata外部命令安装问题求帮助!
    • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
    • ¥15 TYPCE母转母,插入认方向
    • ¥15 如何用python向钉钉机器人发送可以放大的图片?
    • ¥15 matlab(相关搜索:紧聚焦)
    • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
    • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
    • ¥50 需求一个up主付费课程
    • ¥20 模型在y分布之外的数据上预测能力不好如何解决