Exemple #1
0
    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))
Exemple #2
0
    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()