Я работаю над проектом Голанга. Я использую базу данных MongoDB.
Мне нужно получить все документы с помощью функции массового обновления. Я использую пакет mgo golang с кодом ниже:
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)
}
Я получаю вывод, как это:
&{117 117 false}
<nil>
Мне нужно получить обновленные идентификаторы документов для ведения журналов, если какая-либо запись не обновляется.
Кто-нибудь может подсказать, как мне этого добиться?