利用pymong包查询mongoDB(find()和find_one(函数)

在进行接口自动化测试过程中,一种断言的思路就是查询数据库的值与接口的返回值进行比对;由于自己基本知识不扎实,在对mongdb进行find查询时,还是折腾了两三天时间,问题解决之后,在此做一个总结。

开发环境:

  1. MongDB version: 3.2.6
  2. PyMong version: 3.4.0
  3. Python version: 3.4

PyMong包是一个推荐使用的,操作MongDB的python工具包。它提供了2个函数查询数据库:find和find_one.

1. find(filter=None, projection=None, skip=0, limit=0, no_cursor_timeout=False, cursor_type=CursorType.NON_TAILABLE, sort=None, allow_partial_results=False, oplog_replay=False, modifiers=None, manipulate=True) 

  • 参数filter,是一个SON对象,指定返回的结果必须满足的条件,类似mysql的select,例如:

filter = {"loanStatus": {'$in': [0, 1, 3, 4, 5]}, "payInfo.type": 2, "items.0.type": {"$in": [1, 4]}, "confirmTime": {"$gte": -28800000}}

  • 数projection,指定返回的结果集中字段名,例如:

projection = {'_id': True, 'subject': True, 'confirmTime': True}

其他参数的使用,可参考PyMong官方文档说明MongDB官方文档说明

  • 返回值:一个游标(Cursor),指向返回的结果(documents);可使用cursor的next(),或forEach(function)获取结果,或者python的for遍历结果

2. find_one(filter=None, *args, **kwargs)

  • 参数的含义,同find函数
  • 返回值:符合条件的一个结果记录(document);或者是None

发表评论

电子邮件地址不会被公开。 必填项已用*标注