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()