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

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

go mongodb Iter迭代器示例

2019-11-11 01:49:09
字體:
來源:轉載
供稿:網友
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}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 信丰县| 丽江市| 贡觉县| 石楼县| 台东县| 吕梁市| 手机| 嘉荫县| 江门市| 禹州市| 上杭县| 阜阳市| 延寿县| 潮州市| 侯马市| 两当县| 班玛县| 枞阳县| 特克斯县| 庆安县| 安化县| 高唐县| 汉阴县| 东乡县| 博乐市| 芮城县| 锡林郭勒盟| 若羌县| 股票| 宽甸| 香格里拉县| 社会| 张家界市| 阿鲁科尔沁旗| 五指山市| 贵定县| 桦甸市| 通江县| 自贡市| 湟中县| 汉源县|