国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

go mongodb Iter迭代器示例

2019-11-11 01:46:02
字體:
來源:轉載
供稿:網友
func (this *Mongodb) StoreRecords(dbName, collection, storeDbName, tmpCollection string, queryMap, selecter bson.M) (err error) {	session := this.GetSession()	defer session.Close()	iter := session.DB(dbName).C(collection).Find(queryMap).Select(selecter).Iter()	oneMap := make(bson.M)	historyMapSlice := make([]interface{}, 0, MAX_BULK_WRITE_FILE_LEN)	flag := false	for iter.Next(&oneMap) {		tmpMap := DeepCopy(oneMap)//go深度拷貝		historyMapSlice = append(historyMapSlice, tmpMap.(bson.M))		if len(historyMapSlice) >= MAX_BULK_WRITE_FILE_LEN {//寫入最大長度			this.BulkInsert(storeDbName, tmpCollection, historyMapSlice)			historyMapSlice = make([]interface{}, 0, MAX_BULK_WRITE_FILE_LEN)			flag = true		}	}	if err = iter.Close(); err != nil {		log.Error("StoreRecords,iter.Close() fail, db:", dbName,			", Collection:", collection,			", queryCondition:", queryMap,			", selector:", selecter,			", ErrInfo:", err)	}	if 0 == len(historyMapSlice) && !flag {		err = errors.New("not found StoreRecords data")		return	}	this.BulkInsert(storeDbName, tmpCollection, historyMapSlice)	return}
func (this *Mongodb) BulkInsert(dataBase, collection string, allRecords []interface{}) (err error) {    if 0 == len(allRecords) {        log.Info("bulkInsert: 0 == len(allRecords)! db:", dataBase, "collection:", collection)        return    }    bulkInsert := func(c *mgo.Collection) error {        bulk := c.Bulk()        bulk.Unordered()        bulk.Insert(allRecords...)        _, err := bulk.Run()        return err    }    err = this.WitchCollection(dataBase, collection, bulkInsert)    if err != nil {        log.Error("mongodb BulkInsert, BulkInsert Failed, db:", dataBase,            ", Collection:", collection,            ", ErrInfo:", err)    }    return}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双柏县| 兴山县| 蒙城县| 商洛市| 石河子市| 犍为县| 新化县| 烟台市| 佛山市| 民丰县| 鹤壁市| 开阳县| 通辽市| 辛集市| 杭锦后旗| 抚宁县| 富顺县| 略阳县| 马尔康县| 文山县| 田阳县| 南召县| 申扎县| 三亚市| 太仆寺旗| 安岳县| 浮山县| 万载县| 南阳市| 开远市| 南华县| 丁青县| 乐山市| 扶风县| 黎川县| 托里县| 甘南县| 潜江市| 云和县| 鄂托克旗| 安达市|