mongoDB 數據庫:數據庫
pymongo 操做:spa
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()