成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

MongoDB數(shù)據(jù)庫(kù)

qylost / 1279人閱讀

摘要:是一個(gè)非關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)形式為鍵值對(duì)水平擴(kuò)展很容易常作為緩存數(shù)據(jù)庫(kù)來(lái)使用的存儲(chǔ)文檔稱之為類似對(duì)象字段值可以包含其他的文檔數(shù)組以及文檔數(shù)組和的概念解析概念的概念解釋說(shuō)明數(shù)據(jù)庫(kù)表集合行文檔列域表關(guān)聯(lián)主鍵手動(dòng)添加自動(dòng)創(chuàng)建一進(jìn)入數(shù)據(jù)庫(kù)的目錄輸入啟動(dòng)

Mongodb

是一個(gè)非關(guān)系型數(shù)據(jù)庫(kù) 存儲(chǔ)形式為鍵值對(duì) 水平擴(kuò)展很容易 常作為緩存數(shù)據(jù)庫(kù)來(lái)使用

Mongodb的存儲(chǔ)文檔稱之為 BSON 類似json對(duì)象 字段值可以包含其他的文檔 、數(shù)組 以及文檔數(shù)組

MongoDB和mysql的概念解析
sql概念 mongodb的概念 解釋/說(shuō)明
database database 數(shù)據(jù)庫(kù)
table collection 表/集合
row document 行/文檔
column field 列/域
table join 表關(guān)聯(lián)
primary key primary key 主鍵手動(dòng)添加/自動(dòng)創(chuàng)建
一、進(jìn)入mongodb數(shù)據(jù)庫(kù) (1) cd mongo的bin目錄 (2) 輸入 啟動(dòng)服務(wù) 并選擇創(chuàng)建數(shù)據(jù)庫(kù)的位置
mongod.exe --dbpath=D:db
(3) 再打開(kāi)一個(gè)終端

cd mongodb的bin目錄

mongo.exe

(4) 開(kāi)放端口讓其他人連接,需要關(guān)閉防火墻

mongod.exe --bind_ip 0.0.0.0

(5) 連接帶密碼的mongodb

mongo ip:port/database -u username -p password
mongo database --host x.x.x.x --port 31935 -u username -p password

二、數(shù)據(jù)庫(kù)的操作
(1) 查看所有數(shù)據(jù)庫(kù)

show dbs

(2) 創(chuàng)建/切換數(shù)據(jù)庫(kù)

use 數(shù)據(jù)庫(kù)名

(3) 查看當(dāng)前所在的數(shù)據(jù)庫(kù)

db.getName()

(4) 創(chuàng)建集合

db.createCollection(集合名)

db.createCollection("user")

db.集合名.insert(文檔)

db.goods.insert({"goodsname":"牛奶"})

(5) 查看所有的集合

show collections

(6) 刪除集合

db.collection_name.drop()

如果遇到命名奇怪的集合,如數(shù)字名字的集合無(wú)法刪除,可以使用如下
db.getCollection("123").drop()

注意:

mongodb區(qū)分大小寫

(7) 修改集合名字

db.old_name.renameCollection("new_name")

三、數(shù)據(jù)的添加 INSERT
(1) insert 插入一條文檔

db.集合名.insert({文檔})

db.user.insert({"name":"張三","age":18})

(2) insert插入多條文檔

列表中存放多條文檔

db.user.insert([{"name":"李四","age":20},{"name":"王五","age":25}])

3.XX 新的插入文檔
(1) 插入一條文檔

db.collection.insertOne()

db.user.insertOne({"name":"趙六","age":30})

(2) 插入多條文檔

db.collection.insertMany()

db.user.insertMany([{"name":"趙六","age":30},{"name":"王五","age":22}])

插入多條文檔 不管是insert還是insertMany 都需要使用列表

insertMany 如果不適用列表 則報(bào)錯(cuò)

insert 插入多條不適用列表 則插入成功數(shù)據(jù)為第一條文檔

四、update修改

主體結(jié)構(gòu)

db.collection.update(

? , 查詢的條件

? , 要更改的東西

? {

? bool值 如果修改的數(shù)據(jù)查詢不到 當(dāng)前數(shù)據(jù)是否作為新數(shù)據(jù)插入 默認(rèn)Flase 不插入

? bool 值 如果匹配到多條 默認(rèn)是更改一條 Flase 改為True則全部更改

? }

)

update: $set $inc 倆個(gè)更新操作符

$set 直接修改

$inc 累加修改

實(shí)例

不使用更新操作符 會(huì)將文檔的內(nèi)容除了_id以外的內(nèi)容替換成當(dāng)前update的內(nèi)容

db.user.update({"name":"張三"},{"age":38})

使用更新操作符號(hào) $set 將年齡直接修改為30 其余當(dāng)前文檔的內(nèi)容不會(huì)發(fā)生改變

db.user.update({"name":"李四"},{$set:{"age":30}})

使用更新操作符號(hào) $inc 將年齡值累加修改30 其余當(dāng)前文檔的內(nèi)容不會(huì)發(fā)生改變

db.user.update({"name":"李四"},{$inc:{"age":30}})

upsert參數(shù)的使用

db.user.update({"name":"張三"},{$set:{"age":30}},true)

{ "_id" : ObjectId("5b0f68068829170dea936f21"), "name" : "張三", "age" : 30 }
multi 的使用
db.user.update({"name":"趙六"},{$set:{age:10}},{multi:true})
完整的修改語(yǔ)句

db.user.update({"name":"趙六"},{$set:{age:18}},true,true)

3.xx以后的修改

db.collection.updateOne()

實(shí)例

db.user.updateOne({"age":18},{$set:{age:10}})

db.collection.updateMany()

實(shí)例

db.user.updateMany({"name":"趙六"},{$set:{age:12}})
五、remove 刪除

主體結(jié)構(gòu)

db.collection.remove(
    ,  條件
    justOne,  bool值 默認(rèn)flase 全部刪除
)

實(shí)例

刪除多條
db.user.remove({"name":"趙六"})
WriteResult({ "nRemoved" : 2 })
刪除一條
db.user.remove({"name":"王五"},true)
db.user.remove({"name":"王五"},1)
清除集合中的所有文檔數(shù)據(jù)
db.user.remove({})
3.xx版本以后的刪除

db.collection.deleteOne()

db.user.deleteOne({"name":"李四"})
{ "acknowledged" : true, "deletedCount" : 1 }

db.collection.deleteMany()

db.user.deleteMany({"name":"李四"})
{ "acknowledged" : true, "deletedCount" : 2 }
六、查詢 (1) find查所有

db.collection.find()

(2) 哪些字段顯示與隱藏

指定顯示某些字段 字段名:true

db.user.find({},{name:true}) 只顯示name和id
db.user.find({},{name:true,age:true}) 顯示name和age和id字段

指定除了某個(gè)字段以外的字段都顯示

db.user.find({},{name:false,age:false})   

注意:

自己定義的域 只能設(shè)置顯示 或者不顯示 不能一起設(shè)置

但是系統(tǒng)的id可以 因?yàn)椴还苣憬o其他域設(shè)置true或者false都會(huì)顯示

只有這種可以

db.user.find({},{"_id":false,age:true})
(3) findOne 只查詢一條
db.user.findOne({"age":28})
(4) count 統(tǒng)計(jì)
db.user.find().count()
db.user.find({age:18}).count()
(5) pretty 展開(kāi)查看
db.user.find().pretty()
(6) 查詢條件符
$gt       大于                    db.user.find({age:{$gt:18}})
$gte    大于等于               db.user.find({age:{$gte:18}})
$lt        小于                    db.user.find({age:{$lt:28}})
$lte    小于等于              db.user.find({age:{$lte:28}})
{key:val}    等于                db.user.find({age:28})
$ne        不等于                   db.user.find({age:{$ne:28}})
/數(shù)據(jù)/    模糊查詢             db.user.find({name:/張/})
/^數(shù)據(jù)/      以...作為開(kāi)頭        db.user.find({name:/^張/})
/數(shù)據(jù)$/    以...作為結(jié)尾        db.user.find({name:/張$/})
$in         在...范圍內(nèi)           db.user.find({"age":{$in:[18,20]}})
$nin    不在...范圍內(nèi)          db.user.find({"age":{$nin:[18,20]}})
按照id來(lái)查詢                   db.user.find({"_id" : ObjectId("5b0fabcda14d4a753f75edc5")})
(7) and查詢
db.user.find({"name":"張三","age":28})
db.user.find({"age":{$gt:18,$lt:28}})
#名字包含李的,并且年齡大于18并且小于28 只顯示name字段
db.user.find({"name":/李/,"age":{$gt:18,$lt:28}},{"_id":false,"name":true})
(8) $or查詢

db.collection.find({$or:[條件1,條件2...]})

查詢年齡大于18 或者 小于28

db.user.find({$or:[{age:{$gt:18}},{age:{$lt:28}}]})
db.user.find({$or:[{name:/張/},{name:/三/}]})
(9) and 和 or的一起使用
主體結(jié)構(gòu):
db.user.find({名:值...,$or:[{條件1},{條件2}...]})
select * from user where name like "%三%" and (age=18 or age=28)
(10) limit 取值

db.collection.find().limit(num)

db.user.find().limit(2)

注意:

從頭取出 num條

(11) skip 跳過(guò)num條

db.collection.find().skip(num)

db.user.find().skip(2)

(12) limit 和 skip的結(jié)合使用

db.collection.find().skip(num).limit(num)

db.user.find().skip(2).limit(2)
(14) sort 排序

db.collection.find().sort({key:1|-1}) #升序或者降序

db.user.find().sort({age:-1}).limit(1)
七、數(shù)據(jù)庫(kù)的刪除

刪除之前最好use一下

db.dropDatabase()

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/19265.html

相關(guān)文章

  • 聊聊MongoDB - MongoDB的簡(jiǎn)單安裝

    摘要:安裝全過(guò)程環(huán)境基本情況我是在電腦下安裝的系統(tǒng)位,這個(gè)也是導(dǎo)致我安裝的時(shí)候出現(xiàn)異常提示,原因可能是的版本是位的,我應(yīng)該再找一個(gè)位的,但事實(shí)上我找不到。 簡(jiǎn)述 之前講了一些關(guān)于MongoDB的知識(shí),出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計(jì)算機(jī)的虛擬機(jī)的centos系統(tǒng)下安裝MongoDB的經(jīng)歷,希望感興趣的你們?cè)诎惭bMongoDB的時(shí)候出現(xiàn)問(wèn)題可以來(lái)看看我是怎么安裝的...

    notebin 評(píng)論0 收藏0
  • 聊聊MongoDB - MongoDB的簡(jiǎn)單安裝

    摘要:安裝全過(guò)程環(huán)境基本情況我是在電腦下安裝的系統(tǒng)位,這個(gè)也是導(dǎo)致我安裝的時(shí)候出現(xiàn)異常提示,原因可能是的版本是位的,我應(yīng)該再找一個(gè)位的,但事實(shí)上我找不到。 簡(jiǎn)述 之前講了一些關(guān)于MongoDB的知識(shí),出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計(jì)算機(jī)的虛擬機(jī)的centos系統(tǒng)下安裝MongoDB的經(jīng)歷,希望感興趣的你們?cè)诎惭bMongoDB的時(shí)候出現(xiàn)問(wèn)題可以來(lái)看看我是怎么安裝的...

    whatsns 評(píng)論0 收藏0
  • 聊聊MongoDB - MongoDB的簡(jiǎn)單安裝

    摘要:安裝全過(guò)程環(huán)境基本情況我是在電腦下安裝的系統(tǒng)位,這個(gè)也是導(dǎo)致我安裝的時(shí)候出現(xiàn)異常提示,原因可能是的版本是位的,我應(yīng)該再找一個(gè)位的,但事實(shí)上我找不到。 簡(jiǎn)述 之前講了一些關(guān)于MongoDB的知識(shí),出人意料的受歡迎,也讓我很吃驚,所以今天打算分享一些我在自己計(jì)算機(jī)的虛擬機(jī)的centos系統(tǒng)下安裝MongoDB的經(jīng)歷,希望感興趣的你們?cè)诎惭bMongoDB的時(shí)候出現(xiàn)問(wèn)題可以來(lái)看看我是怎么安裝的...

    diabloneo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<