python 模块 - pymongo模块

 mongoDB 数据库:

pymongo 操作:

import pymongo
# 连接mongo数据库
client = pymongo.MongoClient(host='localhost', port=27017)

# 获取应数据库
db=client.text

# 获取数据表
my_collection=db.col

#添加数据操作:(单条数据为 字典格式,多少条数据为 列表(字典)方式)
    # my_collection.insert(info)
    # 官方建议使用以下查询:
    # my_collection.insert_one(info)
    # my_collection.insert_many(info)

# 查找数据:
    # 大体跟直接在mongoDB查询一致:

    #比较符 :
    # $lt小于{'age': {'$lt': 20}}
    # $gt大于{'age': {'$gt': 20}}
    # $lte小于等于{'age': {'$lte': 20}}
    # $gte大于等于{'age': {'$gte': 20}}
    # $ne不等于{'age': {'$ne': 20}}
    # $in在范围内{'age': {'$in': [20, 23]}}
    # $nin不在范围内{'age': {'$nin': [20, 23]}}

    # 其他方式查询:
    # 符号含义示例示例含义
    # $regex匹配正则{'name': {'$regex': '^M.*'}}name以M开头
    # $exists属性是否存在{'name': {'$exists': True}}name属性存在
    # $type类型判断{'age': {'$type': 'int'}}age的类型为int
    # $mod数字模操作{'age': {'$mod': [5, 0]}}年龄模5余0
    # $text文本查询{'$text': {'$search': 'Mike'}}text类型的属性中包含Mike字符串
    # $where高级条件查询{'$where': 'obj.fans_count == obj.follows_count'}自身粉丝数等于关注数

    # 查找所有数据:
    # date = my_collection.find()

    # 按条件查找数据:(依据mongoDB 查询数据一样,只是关键词需要引号包住)
    # date = my_collection.find({'sex':"男",'count':{'$gt':60}})

    # 显示前20条数据
    # date = my_collection.find().limit(20)
    # 跳过前2条显示20条数据
    # date = my_collection.find().limit(20).skip(2)

    # 计数
    # 要统计查询结果有多少条数据,可以调用count()方法,如统计所有数据条数:

    # 排序
    # 可以调用sort()方法,传入排序的字段及升降序标志即可,示例如下:

    # 我们也可以直接根据ObjectId来查询,这里需要使用bson库里面的ObjectId。
    # from bson.objectid import ObjectId
    # result = collection.find_one({'_id': ObjectId('593278c115c2602667ec6bae')})
    # print(result)
    # 其查询结果依然是字典类型,运行结果:
    # {' ObjectId('593278c115c2602667ec6bae'), 'id': '20170101', 'name': 'Jordan', 'age': 20, 'gender': 'male'}
    # 当然如果查询_id':结果不存在则会返回None。

    # 更多查询方法,详见mongoDB CURD吧。

# 更新数据:
    # my_collection.update({条件名key:条件值},{修改的key:修改的值,})
    # 官方建议使用以下查询:
    # my_collection.update_one({'ID':3533821323},{"$set":{'name':'i123456',"count":22}})
    # my_collection.update_many()

# 删除数据:
    # my_collection.remove({'ID':3533821323})
    # # 官方建议使用以下查询:
    # my_collection.delete_one()
    # my_collection.delete_many()

# 需要知道的,查找到的mongo数据类型为<class 'pymongo.cursor.Cursor'>
    # info = db.a1.find({"name":"a2"}).limit(10)
    # print(type(info))
    #输出结果为: <class 'pymongo.cursor.Cursor'>

    # 可以通过list方式,将cursor类型数据转为列表数据:
    # info = list(db.a1.find({"name":"a2"}).limit(10))
    # print(type(info))
    # 输出结果为: list()

猜你喜欢

转载自www.cnblogs.com/Anec/p/10179784.html