麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MongoDB > 正文

mongodb的安裝使用和pymongo基本使用教程

2020-10-29 18:46:07
字體:
來源:轉載
供稿:網友

(1) mongodb的安裝

下載tgz解壓后,需要添加相應的環境變量才能在終端直接啟動mongod。

mongodb數據存儲在/data/db中,需要手動創建目錄樹,同時mongod執行的時候如果權限不夠(不能往/data/db寫東西),需要改一下權限。

vim ~/.bashrcexport PATH="~/download/mongodb-linux-x86_64-ubuntu/bin:$PATH"mkdir -p /data/dbls -l / 查看data目錄的權限,發現擁有者可寫ls -l /data 查看db目錄的權限,發現擁有者可寫chown -R "liaohuqiang" /data data下的所有文件的擁有者改為自己 

(2) mongod的啟動

之后就可以在終端上輸入mongod,這個時候就啟動了mongodb,但是這個時候是在終端運行著的,相當于一個前臺進程,在這個終端你不能做其它操作。

可以使用--fork選項,開啟后會回到終端交互,可以繼續做自己的事。

fork表示以守護進程的方式啟動mongodb,創建一個服務器進程。fork要配合logpath使用,表示日志信息輸出到哪個日志文件。logappend表示以追加的方式寫入日志文件。

當然還有別的啟動方式,目前還沒用到,暫時先不說。

mongod --fork --logappend ~/mongo.log --logappend 

(3)mongo的使用

啟動mongod后就可以在終端進入mongo進行相關數據庫操作

show dbs 顯示所有數據庫use doctor 切換到某個數據庫"doctor", 不切換的話默認使用testdb.dropDatabase() 刪除數據庫show collections 顯示所有集合db.sample.drop() 刪除集合db.sample.insert({name:"pilgrimHui", label:"1"}) 插入一行記錄db.sample.insert({...}) 如果文檔已存在,會更新_id,不存在則同insertdb.sample.find({...}) 查找滿足條件的記錄,簡單的一些查詢條件見下面db.sample.find({...},{field1:1, field2:1}) 只找出某些字段db.sample.find() 查找sample集合所有記錄db.sample.remove({...},1) 刪除滿足條件的記錄,參數1可選,代表只刪除1個db.sample.remove({}) 刪除sample集合的所有記錄

(4) mongo里的update操作

db.collection.update(criteria, objNew, upsert, multi)criteria: 查詢條件,理解為sql update語句where后面的objNew: 更新操作,理解為sql update語句set后面的upsert: 如果不存在查詢到的記錄,是否插入。默認false,不插入multi: 是否更新多條。默認false,只更新第一條。# 例如:把集合里所有記錄的status改為0db.sample.update({"status": {$ne: 0} }, {$set: {"status":0}}, {multi: true})或者db.sample.update({"status": {$ne: 0} }, {$set: {"status":0}}, false,true)

(4) 幾個查詢操作符

$ne 不等$gt 大于$gte 大于等于$lt 小于$lte 小于等于$in和$nin 是否在指定數組中$all 是否全在指定數組中$or 將數組中的多個鍵值對或運算$slice:[1,2] 切片,取屬性值(數組)的某幾個$size 該屬性值(數組)的長度$exists:true 選擇該字段存在的記錄$not 對任何查詢操作符取非$regex 使用正則表達式匹配

(5) 幾個更新操作符

{ $inc : { field : value } }{ $set : { field : value } }{ $unset : { field : 1} } { $push : { field : value } } 追加,field要是數組{ $pull : { field : value } } 和push相反{ $pop : { field : 1 } } 刪除最后1個值{ $pop : { field : -1 } } 刪除第1個值 { $currentDate: { <field1>: {$type:"date", ... } } 設定當前時間{ $rename: {<field1>:<newName1>,<field2>:<newName2>,...} } 重命名字段

(6) 用戶權限設置

mongodb默認沒有帳號登錄,需要自己先添加帳號。

在admin數據庫添加的帳號為管理員帳號,在其它數據庫添加的帳號為普通用戶

用戶只能在用戶所在的數據庫登錄,包括管理員。

管理員只能在admin登錄認證后才能管理其它數據庫。

6.1 添加管理員帳號

use admindb.system.users.find()

db.addUser('liaohuqiang','liaohuqiang')  添加管理員用戶,mongodb版本不同,可能會報錯,如果報錯找不到addUser則

用下面這個

db.createUser( {  user: 'liaohuqiang',  pwd: 'liaohuqiang',  roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })

6.2 重新啟動mongod

創建成功后重啟mongod,這個時候開啟連接可以帶上--auth選項,代表驗證用戶權限。

mongod --fork --logappend ~/mongo.log --logappend --auth

6.3 認證登錄

開啟后,直接mongo進去操作會受限,可以mongo連接時授權登錄;也可以連接進去后再認證。

mongo -u liaohuqiang -p --authenticationDatabase adminmysql -h ip -u root -p 亂入,對比一下mysql的連接mongouse admindb.auth('liaohuqiang', 'liaohuqiang')

6.4 關閉連接

認證登錄后就可以像之前那樣操作數據庫了,操作完后可以在admin數據庫關閉連接。

use admin db.shutdownServer() 關閉mongod 

(7) pymongo的連接

import pymongoclient=pymongo.MongoClient('mongodb://username:password@ip')db=client['doctor']users=db["user"]result= list(users.find( {'role':1}, {'_id':0} ) ) 選多個result= users.find_one({"name":name}) 選單個users.insert_one({"name":name}) 插一個,會自動生成主鍵users.remove( {"name":name}, {"multi":True} ) 刪多個users.update_one({'name':name},{'$inc':{'commitCount':1}}) 改一個

總結

以上所述是小編給大家介紹的mongodb的安裝使用和pymongo基本使用教程,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中国大陆高清aⅴ毛片 | 日本a级一区 | 一级一级一级一级毛片 | 毛片免费观看日本中文 | 国产精品视频在 | 欧美hdfree性xxxx | 中文字幕欧美专区 | 精品久久久久久久久亚洲 | 精品久久久一二三区播放播放播放视频 | 亚洲va久久久噜噜噜久久男同 | 欧美黄 片免费观看 | 精品国产一区二区亚洲人成毛片 | 91精品国产99久久久久久红楼 | 日韩av电影免费在线观看 | 亚洲婷婷日日综合婷婷噜噜噜 | 激情视频导航 | 国产精品入口夜色视频大尺度 | 91精品国产一区二区三区动漫 | 精品呦女| 在线观看va | 国产精品久久久久久婷婷天堂 | 国产交换3p国产精品 | 欧美一级精品 | 草久影院| 日韩中文字幕一区二区三区 | 黄色av网站在线观看 | 高清国产午夜精品久久久久久 | 亚洲人成中文字幕在线观看 | 又黄又爽又色无遮挡免费 | 国产欧美在线一区二区三区 | 国产精品久久久乱弄 | 爱爱插插视频 | 久久久一区二区三区精品 | 国产影视| 日日操日日操 | 成人免费电影在线观看 | 韩国三级日本三级香港三级黄 | 二级大黄大片高清在线视频 | 狠狠干伊人网 | 99精品欧美一区二区 | 久久亚洲视频网 |