寫完這篇博客我發(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" : "貓" }