|
@@ -149,6 +149,31 @@ func (m *MongodbSim) UpdateBulk(c string, doc ...[]map[string]interface{}) bool
|
|
|
return b
|
|
|
}
|
|
|
|
|
|
+//批量更新
|
|
|
+func (m *MongodbSim) UpSertBulk(c string, doc ...[]map[string]interface{}) bool {
|
|
|
+ defer util.Catch()
|
|
|
+ sess := m.GetMgoConn()
|
|
|
+ b := true
|
|
|
+ if sess != nil {
|
|
|
+ defer m.DestoryMongoConn(sess)
|
|
|
+ coll := sess.DB(m.DbName).C(c)
|
|
|
+ bulk := coll.Bulk()
|
|
|
+ for _, v := range doc {
|
|
|
+ if len(v) == 2 {
|
|
|
+ bulk.Upsert(v[0], v[1])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ _, err := bulk.Run()
|
|
|
+ if nil != err {
|
|
|
+ log.Println("BulkUpsertError", err)
|
|
|
+ b = false
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ b = false
|
|
|
+ }
|
|
|
+ return b
|
|
|
+}
|
|
|
+
|
|
|
//批量插入
|
|
|
func (m *MongodbSim) SaveBulk(c string, doc ...map[string]interface{}) bool {
|
|
|
defer util.Catch()
|