參考菜鳥教程: https://www.runoob.com/python3/python-mongodb.htmlhtml
建立數據庫,表,添加數據python
#encoding=utf-8 #!/usr/bin/python3 import pymongo myclient = pymongo.MongoClient("mongodb://192.168.25.142:27017") #建立數據庫--SeaTestPy mydb = myclient["SeaTestPy"] #建立一個集合(表)--mytable mycol = mydb["mytable"] #獲取該庫下全部的colllction(表)的名字 collist = mydb. list_collection_names() # collist = mydb.collection_names() # 判斷 sites 集合(collection)是否存在 if "mytable" in collist: print("集合已存在!") else: print("不存在,建立該表") print("----------插入數據到表中(單條數據)-------------------") mydict = { "name": "SeatestPy", "alexa": "10000", "url": "https://www.runoob.com" } x = mycol.insert_one(mydict) print(x) print("------------insert many 批量插入--------------") mylist = [ { "_id": 1, "name": "RUNOOB", "cn_name": "菜鳥教程"}, #若是指定了id ,那麼會覆蓋 { "name": "Taobao", "alexa": "100", "url": "https://www.taobao.com" }, { "name": "QQ", "alexa": "101", "url": "https://www.qq.com" }, { "name": "Facebook", "alexa": "10", "url": "https://www.facebook.com" }, { "name": "知乎", "alexa": "103", "url": "https://www.zhihu.com" }, { "name": "Github", "alexa": "109", "url": "https://www.github.com" } ] x_many = mycol.insert_many(mylist) print(x_many)
查詢數據:git
#!/usr/bin/python3 import pymongo myclient = pymongo.MongoClient("mongodb://192.168.25.142:27017") #建立數據庫--SeaTestPy mydb = myclient["SeaTestPy"] #建立一個集合(表)--mytable mycol = mydb["mytable"] #獲取該庫下全部的colllction(表)的名字 collist = mydb. list_collection_names() # collist = mydb.collection_names() # 判斷 sites 集合(collection)是否存在 if "mytable" in collist: print("集合已存在!") else: print("不存在,建立該表") print("----------find all data-------------------") # datas=mycol.find() # for x in datas: # print(x) print("----------查詢指定字段的數據-------------------") # # 咱們可使用 find() 方法來查詢指定字段的數據,將要返回的字段對應值設置爲 1。 # for x in mycol.find({},{ "_id": 0, "name": 1, "alexa": 1 }): # print(x) print("----------根據指定條件查詢-----------------") # myquery = { "name": "RUNOOB" } # mydoc = mycol.find(myquery) # for x in mydoc: # print(x) print("---------高級查詢-----------------") # 查詢的條件語句中,咱們還可使用修飾符。 # 如下實例用於讀取 name 字段中第一個字母 ASCII 值大於 "H" 的數據,大於的修飾符條件爲 {"$gt": "H"} # myquery = { "name": { "$gt": "H" } } # mydoc = mycol.find(myquery) # for x in mydoc: # print(x) print("---------使用正則表達式查詢-----------------") # 使用正則表達式查詢 # 咱們還可使用正則表達式做爲修飾符。 # 正則表達式修飾符只用於搜索字符串的字段。 # 如下實例用於讀取 name 字段中第一個字母爲 "R" 的數據,正則表達式修飾符條件爲 {"$regex": "^R"} : # myquery = { "name": { "$regex": "^R" } } # mydoc = mycol.find(myquery) # for x in mydoc: # print(x) print("---------返回指定條數記錄-----------------") myresult = mycol.find().limit(5) # 輸出結果 for x in myresult: print(x)