如何批量提取MongoDB特定集合中userId字段进行性能测试?

2026-05-22 12:331阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计373个文字,预计阅读时间需要2分钟。

如何批量提取MongoDB特定集合中userId字段进行性能测试?

背景:近期进行某项目的性能测试,需要并行处理200个登录,新建了200个用户,需用他们的userId这个数据库字段。

手动显示是耗时耗力的,这时就需要造轮子。由于我们用的轮子是……

背景:

最近在做某项目的性能测试,需要进行200个登录的并发,这时新建了200个用户,要用到他们的userId这个数据库字段。手动显示是耗时耗力的,这时就需要造轮子。

由于我们用的是mongodb数据库,这时考虑到通过python查询用户的username获取对应的userId,然后按照顺序追加写入到excel就可以了。

如何批量提取MongoDB特定集合中userId字段进行性能测试?

代码:

#!/usr/bin/python3 # 获取mongodb新建的200个用户userId用于性能测试 import pymongo import xlrd from xlutils.copy import copy def getUserId(num): myclient = pymongo.MongoClient("mongodb://账号:密码@XX.XX.XX.XX:27017") # 连接数据库 mydb = myclient["库名"] # 指定库名 mycol = mydb["集合名"] # 指定集合名 myquery = {"USERNAME": "performanceTest{0}".format(num)} # 筛选条件 mydoc = mycol.find(myquery) for x in mydoc: # 先手动建一个excel表userId.xls,并将第一个sheet名称改为“userId” # 打开需要操作的excel表 wb = xlrd.open_workbook('userId.xls') # 复制原有表 newb = copy(wb) # 获取原有excel表中sheet名为‘userId'的sheet sumsheet = newb.get_sheet('userId') # k表示该sheet的最后一行 k = len(sumsheet.rows) # 想原有sheet后面新增数据 sumsheet.write(k, 0, x["USERNAME"]) sumsheet.write(k, 1, x["_id"]) # 保存为原有的excel表路径 newb.save('userId.xls') if __name__ == '__main__': for i in range(1, 201): getUserId(i)

结果:

第一列是username,第二列就是性能测试需要的userId。

本文共计373个文字,预计阅读时间需要2分钟。

如何批量提取MongoDB特定集合中userId字段进行性能测试?

背景:近期进行某项目的性能测试,需要并行处理200个登录,新建了200个用户,需用他们的userId这个数据库字段。

手动显示是耗时耗力的,这时就需要造轮子。由于我们用的轮子是……

背景:

最近在做某项目的性能测试,需要进行200个登录的并发,这时新建了200个用户,要用到他们的userId这个数据库字段。手动显示是耗时耗力的,这时就需要造轮子。

由于我们用的是mongodb数据库,这时考虑到通过python查询用户的username获取对应的userId,然后按照顺序追加写入到excel就可以了。

如何批量提取MongoDB特定集合中userId字段进行性能测试?

代码:

#!/usr/bin/python3 # 获取mongodb新建的200个用户userId用于性能测试 import pymongo import xlrd from xlutils.copy import copy def getUserId(num): myclient = pymongo.MongoClient("mongodb://账号:密码@XX.XX.XX.XX:27017") # 连接数据库 mydb = myclient["库名"] # 指定库名 mycol = mydb["集合名"] # 指定集合名 myquery = {"USERNAME": "performanceTest{0}".format(num)} # 筛选条件 mydoc = mycol.find(myquery) for x in mydoc: # 先手动建一个excel表userId.xls,并将第一个sheet名称改为“userId” # 打开需要操作的excel表 wb = xlrd.open_workbook('userId.xls') # 复制原有表 newb = copy(wb) # 获取原有excel表中sheet名为‘userId'的sheet sumsheet = newb.get_sheet('userId') # k表示该sheet的最后一行 k = len(sumsheet.rows) # 想原有sheet后面新增数据 sumsheet.write(k, 0, x["USERNAME"]) sumsheet.write(k, 1, x["_id"]) # 保存为原有的excel表路径 newb.save('userId.xls') if __name__ == '__main__': for i in range(1, 201): getUserId(i)

结果:

第一列是username,第二列就是性能测试需要的userId。