def insert_info_batch(self, table, lst, is_order=False, insert=False): '''批量插入数据''' if lst != None and len(lst) == 0: return collection_names = self.db.db.collection_names() print table, collection_names if table not in collection_names: ret = self.create_table(table) if not ret: return try: dbtemp = self.db.db[table] bulk = dbtemp.initialize_ordered_bulk_op( ) if is_order else dbtemp.initialize_unordered_bulk_op() for item in lst: _record_id = item.get("_record_id", "") item["_utime"] = toolsutil.get_now_time() self.log.info("_record_id:%s" % _record_id) if insert: bulk.insert(item) else: _id = item.pop('_id') bulk.find({'_id': _id}).upsert().update({'$set': item}) bulk.execute({'w': 0}) self.log.info('insert_logs:' + str(len(lst))) except BulkWriteError as bwe: self.log.error("msg:%s\tbwemsg:%s" % (traceback.format_exc(), bwe.details))
def _insert_info_batch(self, table, lst, is_order=False, insert=False): if lst != None and len(lst) == 0: return dbtemp = self.db_insert.db[table] bulk = dbtemp.initialize_ordered_bulk_op() if is_order else dbtemp.initialize_unordered_bulk_op() for item in lst: _record_id = item.get("_record_id", "") print _record_id item["_utime"] = toolsutil.get_now_time() if insert: bulk.insert(item) else: _id = item.pop('_id') bulk.find({'_id': _id}).update({'$set': item}) try: bulk.execute({'w': 0}) print ('insert_logs:' + str(len(lst))) except: print traceback.format_exc()