最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年07月18日 17:12:45   作者:PilgrimHui  
這篇文章主要介紹了mongodb的安裝使用和pymongo基本使用教程,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

(1) mongodb的安裝

下載tgz解壓后,需要添加相應(yīng)的環(huán)境變量才能在終端直接啟動mongod。

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

vim ~/.bashrc
export PATH="~/download/mongodb-linux-x86_64-ubuntu/bin:$PATH"
mkdir -p /data/db
ls -l / 查看data目錄的權(quán)限,發(fā)現(xiàn)擁有者可寫
ls -l /data 查看db目錄的權(quán)限,發(fā)現(xiàn)擁有者可寫
chown -R "liaohuqiang" /data data下的所有文件的擁有者改為自己 

(2) mongod的啟動

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

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

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

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

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

(3)mongo的使用

啟動mongod后就可以在終端進(jìn)入mongo進(jìn)行相關(guān)數(shù)據(jù)庫操作

show dbs 顯示所有數(shù)據(jù)庫
use doctor 切換到某個數(shù)據(jù)庫"doctor", 不切換的話默認(rèn)使用test
db.dropDatabase() 刪除數(shù)據(jù)庫
show collections 顯示所有集合
db.sample.drop() 刪除集合
db.sample.insert({name:"pilgrimHui", label:"1"}) 插入一行記錄
db.sample.insert({...}) 如果文檔已存在,會更新_id,不存在則同insert
db.sample.find({...}) 查找滿足條件的記錄,簡單的一些查詢條件見下面
db.sample.find({...},{field1:1, field2:1}) 只找出某些字段
db.sample.find() 查找sample集合所有記錄
db.sample.remove({...},1) 刪除滿足條件的記錄,參數(shù)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: 如果不存在查詢到的記錄,是否插入。默認(rèn)false,不插入
multi: 是否更新多條。默認(rèn)false,只更新第一條。
# 例如:把集合里所有記錄的status改為0
db.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 是否在指定數(shù)組中
$all 是否全在指定數(shù)組中
$or 將數(shù)組中的多個鍵值對或運算
$slice:[1,2] 切片,取屬性值(數(shù)組)的某幾個
$size 該屬性值(數(shù)組)的長度
$exists:true 選擇該字段存在的記錄
$not 對任何查詢操作符取非
$regex 使用正則表達(dá)式匹配

(5) 幾個更新操作符

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

(6) 用戶權(quán)限設(shè)置

mongodb默認(rèn)沒有帳號登錄,需要自己先添加帳號。

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

用戶只能在用戶所在的數(shù)據(jù)庫登錄,包括管理員。

管理員只能在admin登錄認(rèn)證后才能管理其它數(shù)據(jù)庫。

6.1 添加管理員帳號

use admin
db.system.users.find()

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

用下面這個

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

6.2 重新啟動mongod

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

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

6.3 認(rèn)證登錄

開啟后,直接mongo進(jìn)去操作會受限,可以mongo連接時授權(quán)登錄;也可以連接進(jìn)去后再認(rèn)證。

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

6.4 關(guān)閉連接

認(rèn)證登錄后就可以像之前那樣操作數(shù)據(jù)庫了,操作完后可以在admin數(shù)據(jù)庫關(guān)閉連接。

use admin 
db.shutdownServer() 關(guān)閉mongod 

(7) pymongo的連接

import pymongo
client=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}}) 改一個

總結(jié)

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

相關(guān)文章

  • MongoDB簡單操作示例【連接、增刪改查等】

    MongoDB簡單操作示例【連接、增刪改查等】

    這篇文章主要介紹了MongoDB簡單操作,涉及命令行窗口下使用MongoDB進(jìn)行簡單的連接、增刪改查等相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • Java操作MongoDB數(shù)據(jù)庫示例分享

    Java操作MongoDB數(shù)據(jù)庫示例分享

    MongoDB是一個文檔型數(shù)據(jù)庫,是NOSQL家族中最重要的成員之一,以下代碼封裝了MongoDB的基本操作。具體都在備注當(dāng)中,要仔細(xì)看哦
    2014-08-08
  • Spring Boot中使用MongoDB數(shù)據(jù)庫的方法

    Spring Boot中使用MongoDB數(shù)據(jù)庫的方法

    MongoDB是一個高性能,開源,無模式的,基于分布式文件存儲的文檔型數(shù)據(jù)庫,由C++語言編寫,其名稱來源取自“humongous”,是一種開源的文檔數(shù)據(jù)庫──NoSql數(shù)據(jù)庫的一種。這篇文章主要介紹了Spring Boot中使用MongoDB數(shù)據(jù)庫的方法,需要的朋友可以參考下
    2017-12-12
  • Mongodb如何使用killCursors停止運行的cursor

    Mongodb如何使用killCursors停止運行的cursor

    MongoDB分批向用戶返回數(shù)據(jù)結(jié)果,通過游標(biāo)的移動, mongodb確定當(dāng)前返回結(jié)果的位置,是否要加載更多數(shù)據(jù)到內(nèi)存當(dāng)中,這篇文章主要介紹了Mongodb如何使用killCursors停止運行的cursor,需要的朋友可以參考下
    2023-12-12
  • MongoDB 游標(biāo)詳解及實例代碼

    MongoDB 游標(biāo)詳解及實例代碼

    這篇文章主要介紹了 MongoDB 游標(biāo)詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Windows系統(tǒng)下安裝MongoDB并內(nèi)網(wǎng)穿透遠(yuǎn)程連接

    Windows系統(tǒng)下安裝MongoDB并內(nèi)網(wǎng)穿透遠(yuǎn)程連接

    這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下安裝MongoDB并內(nèi)網(wǎng)穿透遠(yuǎn)程連接的相關(guān)資料,文中通過圖文將步驟介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MongoDB具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-03-03
  • MongoDB db.serverStatus()輸出內(nèi)容中文注釋

    MongoDB db.serverStatus()輸出內(nèi)容中文注釋

    這篇文章主要介紹了MongoDB db.serverStatus()輸出內(nèi)容中文注釋,本文收集了2個版本的中文注釋來講解,需要的朋友可以參考下
    2014-08-08
  • mongodb增刪改查詳解_動力節(jié)點Java學(xué)院整理

    mongodb增刪改查詳解_動力節(jié)點Java學(xué)院整理

    這篇文章主要介紹了mongodb增刪改查詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 詳解清除MongoDB所占用的多余的磁盤空間的方法

    詳解清除MongoDB所占用的多余的磁盤空間的方法

    MongoDB不會自動進(jìn)行垃圾文件清理,不過我們可以借助自帶的repairDatabase等功能來實現(xiàn),下面我們就來詳解清除MongoDB所占用的多余的磁盤空間的方法,附帶一個如何格式化mongo shell的輸出的小技巧:
    2016-06-06
  • MongoDB的基礎(chǔ)查詢和索引操作方法總結(jié)

    MongoDB的基礎(chǔ)查詢和索引操作方法總結(jié)

    MongoDB使用JavaScript作為shell腳本,可以代替關(guān)系型數(shù)據(jù)庫中的SQL語句完成查詢操作,包括索引下的查詢操作,這里我們就來整理MongoDB的基礎(chǔ)查詢和索引操作方法總結(jié):
    2016-07-07

最新評論

图们市| 类乌齐县| 札达县| 南陵县| 长沙市| 洞口县| 卓资县| 大关县| 昌邑市| 临夏市| 木里| 台湾省| 石门县| 花莲市| 江华| 韩城市| 峨眉山市| 龙州县| 甘谷县| 沽源县| 陈巴尔虎旗| 彰武县| 广州市| 新津县| 滨州市| 陕西省| 思茅市| 肇州县| 台中县| 江西省| 江华| 绥阳县| 岱山县| 濉溪县| 维西| 双柏县| 龙泉市| 黑水县| 特克斯县| 宁陕县| 巩义市|