当前位置 博文首页 > 详解Pymongo常用查询方法总结

    详解Pymongo常用查询方法总结

    作者:cw-Austin 时间:2021-02-01 18:09

    Python 直接连接mongodb数据库进行查询操作

    1、安装所需模块

    使用到的是pymongo模块,安装方法:pip install pymongo

    2、环境验证

    3、连接数据库

    import pymongo
    def operating_mongodb():
      client = pymongo.MongoClient('ip_address', port)
      db_auth = client.database
      db_auth.authenticate("username", "password")
      db = client.db_name
      return db
    

    4、连接到对应的数据库表

    mongodb = operating_mongodb()
    search_set = mongodb.table_name
    

    5、按照所需字段排序

    search_set.find().sort("field_name ",pymongo.ASCENDING)   --升序
    search_set.find().sort("field_name ",pymongo.DESCENDING)  --降序
    
    

    6、查询数据库表的全部内容

    第一种:search_set.find({})

    第二种:search_set.find()

    7、精确查询

    search_set.find({“field_name”:”value”})
    search_set.find({“field_name”:”value”, “field_name”:”value”})
    
    

    8、只返回所需要的字段信息

    find的第二参数可以帮助我们只把需要的键值信息返回,需要将我们需要的键指定为1,

    另外默认的”_id”默认是返回的,我们不需要它返回的话将它的值设为0

    search_set.find({}, {“field_name_one”:1, “field_name_two”:1,”_id”:0})

    9、比较查询

    首先 $lt和<,$lte和<=,$gt和>,gte和>=,ne和!=是一一对应的

    search_set.find({"field_name": {"$lt": value, "$gt": value}})

    10、关联查询

    如果只想查询一个键的多个值,或取除某个值之外所有的数据那么就用到了

    $in和$nin

    比如我只想获取field_name为1,5,8的数据:

    search_set.find({"field_name": {"$in": [1,5,8]}})
    
    

    如果想获取field_name为5之外的所有数据:

    search_set.find({"field_name": {"$nin": [5]}})

    11、多条件模糊查询

    $regex为模糊查询的字符串提供正则表达式功能

    search_set.find({"$or": [{"field_name": {'$regex': value}},{"field_name": {'$regex': value}}]})
    
    

    通过这些常用的查询方法,灵活组合,基本可以满足常见的查询需求

    js
    下一篇:没有了