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

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

go mongodb Iter迭代器示例

2019-11-11 01:09:02
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
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 {//寫(xiě)入最大長(zhǎng)度			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}

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 西华县| 霍邱县| 乌拉特前旗| 云安县| 静宁县| 宣威市| 北宁市| 木里| 无为县| 东丽区| 柳河县| 张家界市| 额敏县| 威海市| 大冶市| 洪江市| 咸丰县| 黑水县| 韶关市| 尉犁县| 澄迈县| 徐水县| 海口市| 公主岭市| 平定县| 潮安县| 溆浦县| 宣城市| 上饶市| 井冈山市| 涡阳县| 阳泉市| 赫章县| 汨罗市| 横峰县| 石阡县| 邵东县| 屏南县| 珠海市| 来安县| 崇仁县|