MongoDB_CRUD

寫完這篇博客我發(fā)現(xiàn)這個(gè)博客網(wǎng)站的排版是最差的完全不支持md文檔還沒(méi)有代碼塊模式

列出所有數(shù)據(jù)庫(kù)

不知大家還記得不記得關(guān)系型數(shù)據(jù)庫(kù)的創(chuàng)建方法:create database? 數(shù)據(jù)庫(kù)名稱

不過(guò)不管是關(guān)系型還是非關(guān)系型大體操作還是crud和權(quán)限一類的

如果大家在數(shù)據(jù)庫(kù)的學(xué)習(xí)中遇到了報(bào)錯(cuò),一定要聯(lián)想自己學(xué)習(xí)的第一個(gè)數(shù)據(jù)庫(kù),我是學(xué)的MySQL,所以會(huì)聯(lián)想一下這個(gè)數(shù)據(jù)庫(kù)

show databases/show dbs

創(chuàng)建用戶

db.createUser({"user":"用戶名","pwd":"密碼", roles:["權(quán)限"]})

賬號(hào)密碼登錄

db.auth("用戶名","密碼")

創(chuàng)建數(shù)據(jù)庫(kù)

不知大家還記得不記得關(guān)系型數(shù)據(jù)庫(kù)的創(chuàng)建方法:

create database? 數(shù)據(jù)庫(kù)名稱

不過(guò)不管是關(guān)系型還是非關(guān)系型大體操作還是crud和權(quán)限一類的

如果大家在數(shù)據(jù)庫(kù)的學(xué)習(xí)中遇到了報(bào)錯(cuò),一定要聯(lián)想自己學(xué)習(xí)的第一個(gè)數(shù)據(jù)庫(kù),我是學(xué)的MySQL,所以會(huì)聯(lián)想一下這個(gè)數(shù)據(jù)庫(kù)

使用? use 數(shù)據(jù)庫(kù)名? 指令若數(shù)據(jù)庫(kù)不存在則自動(dòng)創(chuàng)建

修改密碼

db.changeUserPassword("用戶名","新的密碼")

插入文檔

db.集合名稱.insert(文檔)

列出所有的集合

show collections

創(chuàng)建集合

db.createCollection("name", "option")

刪除集合

db.集合名.drop()

插入文檔

db.stu.insert({name:"張三", age:"28", gender:true})

dict_data = {

? ? "_id" : 1,

? ? name: "王五",

? ? age: 55,

? ? gender:true

}

db.stu.insert(dict_data)

刪除文檔

刪除集合中指定文檔

db.stu.remove({name:"張三"})

刪除集合中所有文檔

db.集合名稱.remove({})

修改文檔

db.collection_name.update({select_conditional}, {$set:select_content})默認(rèn)只修改符合條件第一條數(shù)據(jù)

db.collection_name.update({select_conditional}, {$set : select_content}, {mutil : true})全部修改

在newdb集合中創(chuàng)建文檔

use newdb

switched to db newdb

> db.stu.insert({_id:1,name:"Janny",age:28,gender:true})

> db.stu.insert({_id:2,name:"Danny",age:8,gender:true})

> db.stu.insert({_id:3,name:"Jack",age:38,gender:true})

> db.stu.insert({_id:4,name:"Linus",age:18,gender:false})

> db.stu.insert({_id:5,name:"Jhon",age:18,gender:false})

> db.stu.insert({_id:6,name:"Mark",age:21,gender:true})

> db.stu.insert({_id:7,name:"Aorton",age:26,gender:false})

> db.stu.find()

{"_id":1,"name":"Janny","age":28,"gender":true}

{"_id":2,"name":"Danny","age":8,"gender":true}

{"_id":3,"name":"Jack","age":38,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":21,"gender":true}

{"_id":7,"name":"Aorton","age":26,"gender":false}

修改id為2的名字為cccc

> db.stu.update({_id:2},{$set:{name:"cccccccccccc"}})

WriteResult({"nMatched":1,"nUpserted":0,"nModified":1})

> db.stu.find()

{"_id":1,"name":"Janny","age":28,"gender":true}

{"_id":2,"name":"cccccccccccc","age":8,"gender":true}

{"_id":3,"name":"Jack","age":38,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":21,"gender":true}

{"_id":7,"name":"Aorton","age":26,"gender":false}

修改名字Aorton的年齡為15

> db.stu.update({name:"Aorton"},{$set:{age:15}})

WriteResult({"nMatched":1,"nUpserted":0,"nModified":1})

> db.stu.find()

{"_id":1,"name":"Janny","age":28,"gender":true}

{"_id":2,"name":"cccccccccccc","age":8,"gender":true}

{"_id":3,"name":"Jack","age":38,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":21,"gender":true}

{"_id":7,"name":"Aorton","age":15,"gender":false}

修改gender:TRUE字段的年齡

默認(rèn)只修改符合條件的第一條數(shù)據(jù)

db.stu.update({gender:true},{$set:{age:66}})

WriteResult({"nMatched":1,"nUpserted":0,"nModified":1})

> db.stu.find()

{"_id":1,"name":"Janny","age":66,"gender":true}

{"_id":2,"name":"cccccccccccc","age":8,"gender":true}

{"_id":3,"name":"Jack","age":38,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":21,"gender":true}

{"_id":7,"name":"Aorton","age":15,"gender":false}

將gender:TRUE字段年齡全部修改

添加屬性{multi:true}

db.stu.update({gender:true},{$set:{age:66}},{multi:true})

WriteResult({"nMatched":4,"nUpserted":0,"nModified":3})

> db.stu.find()

{"_id":1,"name":"Janny","age":66,"gender":true}

{"_id":2,"name":"cccccccccccc","age":66,"gender":true}

{"_id":3,"name":"Jack","age":66,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":66,"gender":true}

{"_id":7,"name":"Aorton","age":15,"gender":false}

將id為1的gender字段刪除

添加{$unset:{gender:""}}屬性

db.stu.update({_id:1},{$unset:{gender:""}})

WriteResult({"nMatched":1,"nUpserted":0,"nModified":1})

> db.stu.find()

{"_id":1,"name":"Janny","age":66}

{"_id":2,"name":"cccccccccccc","age":66,"gender":true}

{"_id":3,"name":"Jack","age":66,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":66,"gender":true}

{"_id":7,"name":"Aorton","age":15,"gender":false}

查詢文檔

查詢?nèi)?/h4>

db.collection_name.find() 查詢?nèi)繑?shù)據(jù)

db.collection_name.findOne(conditional)? 查詢符合條件的第一條數(shù)據(jù)

db.collection_name.find(coonditional) 查詢符合條件的全部數(shù)據(jù)

> use newdb

switched to db newdb

> db.stu.find()

{"_id":1,"name":"Janny","age":66}

{"_id":2,"name":"cccccccccccc","age":66,"gender":true}

{"_id":3,"name":"Jack","age":66,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":66,"gender":true}

{"_id":7,"name":"Aorton","age":15,"gender":false}

> db.stu,find({gender:false})

2021-03-04T17:13:17.099+0800E QUERY ?? [js] ReferenceError: findisnotdefined :

@(shell):1:8

> db.stu.find({gender:false})

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":7,"name":"Aorton","age":15,"gender":false}

> db.stu.findOne({gender:true})

{"_id":2,"name":"cccccccccccc","age":66,"gender":true}

比較運(yùn)算符

$lt -->less than

$lte -->less than equal

$gt -->greater than

$gte -->greater than equal

$ne -->not equal

> db.stu.find()

{"_id":1,"name":"Janny","age":66}

{"_id":2,"name":"cccccccccccc","age":66,"gender":true}

{"_id":3,"name":"Jack","age":66,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":66,"gender":true}

{"_id":7,"name":"Aorton","age":15,"gender":false}

> db.stu.find({age:{$gt:18}})

{"_id":1,"name":"Janny","age":66}

{"_id":2,"name":"cccccccccccc","age":66,"gender":true}

{"_id":3,"name":"Jack","age":66,"gender":true}

{"_id":6,"name":"Mark","age":66,"gender":true}

>

> db.stu.find({age:{$lt:38}})

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":7,"name":"Aorton","age":15,"gender":false}

>

>

> db.stu.find({age:{$gte:18}})

{"_id":1,"name":"Janny","age":66}

{"_id":2,"name":"cccccccccccc","age":66,"gender":true}

{"_id":3,"name":"Jack","age":66,"gender":true}

{"_id":4,"name":"Linus","age":18,"gender":false}

{"_id":5,"name":"Jhon","age":18,"gender":false}

{"_id":6,"name":"Mark","age":66,"gender":true}

>

>

> db.stu.find({age:{$ne:18}})

{"_id":1,"name":"Janny","age":66}

{"_id":2,"name":"cccccccccccc","age":66,"gender":true}

{"_id":3,"name":"Jack","age":66,"gender":true}

{"_id":6,"name":"Mark","age":66,"gender":true}

{"_id":7,"name":"Aorton","age":15,"gender":false}

邏輯運(yùn)算

and且的關(guān)系

默認(rèn)就是且的關(guān)系(兩者都有)

db.stu.find()

{"_id":1,"name":"Janny","age":28,"gender":true,"like":"狗"}

{"_id":2,"name":"Danny","age":8,"gender":true,"like":"貓"}

{"_id":3,"name":"Jack","age":38,"gender":true,"like":"雞"}

{"_id":4,"name":"Linus","age":18,"gender":false,"like":"老鼠"}

{"_id":5,"name":"Jhon","age":18,"gender":false,"like":"狗"}

{"_id":6,"name":"Mark","age":21,"gender":true,"like":"雞"}

{"_id":7,"name":"Aorton","age":26,"gender":false,"like":"貓"}

> db.stu.find({age:{$gt:18},gender:true})

{"_id":1,"name":"Janny","age":28,"gender":true,"like":"狗"}

{"_id":3,"name":"Jack","age":38,"gender":true,"like":"雞"}

{"_id":6,"name":"Mark","age":21,"gender":true,"like":"雞"}

>

>

> db.stu.find({$and:[{age:{$gt:18}},{gender:true}]})

{"_id":1,"name":"Janny","age":28,"gender":true,"like":"狗"}

{"_id":3,"name":"Jack","age":38,"gender":true,"like":"雞"}

{"_id":6,"name":"Mark","age":21,"gender":true,"like":"雞"}

or或者的關(guān)系

> db.stu.find({$or:[{gender:false},{age:{$lt:30}}]})

{"_id":1,"name":"Janny","age":28,"gender":true,"like":"狗"}

{"_id":2,"name":"Danny","age":8,"gender":true,"like":"貓"}

{"_id":4,"name":"Linus","age":18,"gender":false,"like":"老鼠"}

{"_id":5,"name":"Jhon","age":18,"gender":false,"like":"狗"}

{"_id":6,"name":"Mark","age":21,"gender":true,"like":"雞"}

{"_id":7,"name":"Aorton","age":26,"gender":false,"like":"貓"}

混合使用

查找年齡小于28或者喜歡老鼠。gender:false

> db.stu.find({$and:[{$or:[{age:{$lt:28}},{like:"老鼠"}]},{gender:false}]})

{"_id":4,"name":"Linus","age":18,"gender":false,"like":"老鼠"}

{"_id":5,"name":"Jhon","age":18,"gender":false,"like":"狗"}

{"_id":7,"name":"Aorton","age":26,"gender":false,"like":"貓"}

范圍運(yùn)算

$in Operator

> db.stu.find({age:{$in:[38,18,21]}})

{"_id":3,"name":"Jack","age":38,"gender":true,"like":"雞"}

{"_id":4,"name":"Linus","age":18,"gender":false,"like":"老鼠"}

{"_id":5,"name":"Jhon","age":18,"gender":false,"like":"狗"}

{"_id":6,"name":"Mark","age":21,"gender":true,"like":"雞"}

正則表達(dá)式

$regex Operator

> db.stu.find({name:{$regex:"^L"}})

{ "_id" : 4, "name" : "Linus", "age" : 18, "gender" : false, "like" : "老鼠" }

>

> db.stu.find({name:/L/})

{ "_id" : 4, "name" : "Linus", "age" : 18, "gender" : false, "like" : "老鼠" }

調(diào)用JS代碼

> db.stu.find({

... $where:function () {

... return this.age > 20

... }

... })

{ "_id" : 1, "name" : "Janny", "age" : 28, "gender" : true, "like" : "狗" }

{ "_id" : 3, "name" : "Jack", "age" : 38, "gender" : true, "like" : "雞" }

{ "_id" : 6, "name" : "Mark", "age" : 21, "gender" : true, "like" : "雞" }

{ "_id" : 7, "name" : "Aorton", "age" : 26, "gender" : false, "like" : "貓" }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • MongoDB數(shù)據(jù)的增刪改查 說(shuō)到MongoDB的增刪改查,首先要知道MongoDB中的三要素 數(shù)據(jù)庫(kù),相似于my...
    夢(mèng)里才是真閱讀 1,336評(píng)論 0 4
  • Mongodb的特點(diǎn): 模式自由:可以把不同結(jié)構(gòu)的文檔存儲(chǔ)在同一個(gè)數(shù)據(jù)庫(kù)里 面向集合的儲(chǔ)存:適合儲(chǔ)存JSON風(fēng)格文...
    姓高名旭升閱讀 820評(píng)論 0 0
  • 數(shù)據(jù)庫(kù)切換 查看當(dāng)前數(shù)據(jù)庫(kù)的名稱db 查看所有數(shù)據(jù)庫(kù)名稱列出所有在物理上存在的數(shù)據(jù)庫(kù)show dbs 切換數(shù)據(jù)庫(kù)如...
    N8_xEnn7nA1閱讀 240評(píng)論 0 1
  • 1.查看當(dāng)前數(shù)據(jù)庫(kù):show dbs 2.選擇數(shù)據(jù)庫(kù):use databaseName 3.查看當(dāng)前庫(kù)的集合:sh...
    smile_7a12閱讀 366評(píng)論 0 0
  • 基礎(chǔ)命令(建庫(kù)建表): 查看當(dāng)前的數(shù)據(jù)庫(kù): show dbs 選擇庫(kù): use databaseName 查看...
    機(jī)智的老劉明同志閱讀 96評(píng)論 0 0

友情鏈接更多精彩內(nèi)容