|
@@ -297,6 +297,36 @@ func (m *MongodbSim) UpdateBulkAll(db, c string, doc ...[]map[string]interface{}
|
|
return b
|
|
return b
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+//新的批量修改
|
|
|
|
+func (m *MongodbSim) NewUpdateBulk(c string, upsert bool, multi bool, doc ...[]map[string]interface{}) bool {
|
|
|
|
+ defer Catch()
|
|
|
|
+ sess := m.GetMgoConn()
|
|
|
|
+ if sess == nil {
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
|
|
+ defer m.DestoryMongoConn(sess)
|
|
|
|
+ coll := sess.DB(m.DbName).C(c)
|
|
|
|
+ bulk := coll.Bulk()
|
|
|
|
+ for _, v := range doc {
|
|
|
|
+ if len(v) == 2 {
|
|
|
|
+ if upsert {
|
|
|
|
+ bulk.Upsert(v[0], v[1])
|
|
|
|
+ } else {
|
|
|
|
+ if multi {
|
|
|
|
+ bulk.UpdateAll(v[0], v[1])
|
|
|
|
+ } else {
|
|
|
|
+ bulk.Update(v[0], v[1])
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ _, err := bulk.Run()
|
|
|
|
+ if nil != err {
|
|
|
|
+ log.Println("NewUpdateBulk", err)
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
|
|
+ return true
|
|
|
|
+}
|
|
func (m *MongodbSim) UpdateBulk(c string, doc ...[]map[string]interface{}) bool {
|
|
func (m *MongodbSim) UpdateBulk(c string, doc ...[]map[string]interface{}) bool {
|
|
return m.UpdateBulkAll(m.DbName, c, doc...)
|
|
return m.UpdateBulkAll(m.DbName, c, doc...)
|
|
}
|
|
}
|