Browse Source

修改NewUpdateBulk

wangchuanjin 4 năm trước cách đây
mục cha
commit
29fa55dce2
1 tập tin đã thay đổi với 30 bổ sung0 xóa
  1. 30 0
      src/qfw/mongodb/mongodbSim.go

+ 30 - 0
src/qfw/mongodb/mongodbSim.go

@@ -297,6 +297,36 @@ func (m *MongodbSim) UpdateBulkAll(db, c string, doc ...[]map[string]interface{}
 	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 {
 	return m.UpdateBulkAll(m.DbName, c, doc...)
 }