使用前必須保證兩點:python
a 電腦上安裝了MongoDB數據庫、python安裝了pymongo包。mongodb
b 打開mongod.exe數據庫
1 建立客戶端
spa
client = pymongo.MongoClient('localhost', 27017)
#pymongo.MongoClient()不帶參數時,默認是本地客戶端'localhost': 27017
2 關聯數據庫對象
關聯數據庫有兩種方式 建立數據庫 和 鏈接已有數據庫: 建立數據庫 runoob: db = client['runoob'] 鏈接已有數據庫 runooc db = client.runooc
3 關聯集合blog
關聯集合有兩種方式 建立集合 和 鏈接已有集合: 建立集合 run: collection = db['run'] 鏈接已有集合 runo collection = db.runo
4 增排序
#插入單條數據 collection.insert({'name':'lili', 'age':24}) #插入多條數據 collection.insert({'name':'lili', 'age':24}, {'location':[123,456], 'dad':'me'})
lst = [{'name':'lili', 'age':24}, {'location':[123,456], 'dad':'me'}]
collection.insert(lst) #變量式 doc = { 'name':'lili', 'age':24, 'location':[123,456], 'dad':'me' } collection.insert(doc)
5 查ip
#單一條件查找 for i in collection.find({'age':24}): print i #&查找 for i in collection.find({'age':24, 'name':'lili'}): print i #or查找 for i in collection.find({'$or':[{'age':24}, {'name':28}]}): print i # & 和 or 一塊兒用 collection.find({"likes": {'$gt':50}, '$or': [{"age": 24}, {"age": 28}]}). #查一個具體對象 collection.find_one({'age':24}) #返回值是一個具體的對象
6 改rem
#更新一條數據 collection.update({'age':24}, {'$set':{'age':28}}) #用'age':28替換髮現的第一條'age':24 #更新對條記錄 collection.update({'age':24}, {'$set':{'age':28}}, multi=True) #用'age':28替換全部'age':24
7 刪字符串
#刪掉全部{'age':28}的數據 collection.remove({'age':28}) #刪除數據集 collection.drop()
8 其餘
排序:在MongoDB中使用sort()方法對數據進行排序,sort()方法能夠經過參數指定排序的字段,並使用 1 和 -1 來指定排序的方式,其中 1 爲升序,-1爲降序。
for i in collection.find().sort([("age",1)]): print(i)
limit和skip:
#limit()方法用來讀取指定數量的數據 #skip()方法用來跳過指定數量的數據 #下面表示跳過兩條數據後讀取6條 for i in my_set.find().skip(2).limit(6): print(i)
mongodb的條件操做符:
# (>) 大於 - $gt # (<) 小於 - $lt # (>=) 大於等於 - $gte # (<= ) 小於等於 - $lte #例:查詢集合中age大於25的全部記錄 for i in my_set.find({"age":{"$gt":25}}): print(i)
type(判斷類型)
#找出name的類型是String的 只會找出name是字符串類型的 for i in my_set.find({'name':{'$type':2}}): print(i) type 對照表 Double 1 String 2 Object 3 Array 4 Binary data 5 Undefined 6 已廢棄 Object id 7 Boolean 8 Date 9 Null 10 Regular Expression 11 JavaScript 13 Symbol 14 JavaScript (with scope) 15 32-bit integer 16 Timestamp 17 64-bit integer 18 Min key 255 Query with -1. Max key 127