写完这篇博客我发现这个博客网站的排版是最差的完全不支持md文档还没有代码块模式
列出所有数据库
不知大家还记得不记得关系型数据库的创建方法:create database 数据库名称
不过不管是关系型还是非关系型大体操作还是crud和权限一类的
如果大家在数据库的学习中遇到了报错,一定要联想自己学习的第一个数据库,我是学的MySQL,所以会联想一下这个数据库
show databases/show dbs
创建用户
db.createUser({"user":"用户名","pwd":"密码", roles:["权限"]})
账号密码登录
db.auth("用户名","密码")
创建数据库
不知大家还记得不记得关系型数据库的创建方法:
create database 数据库名称
不过不管是关系型还是非关系型大体操作还是crud和权限一类的
如果大家在数据库的学习中遇到了报错,一定要联想自己学习的第一个数据库,我是学的MySQL,所以会联想一下这个数据库
使用 use 数据库名 指令若数据库不存在则自动创建
修改密码
db.changeUserPassword("用户名","新的密码")
插入文档
db.集合名称.insert(文档)
列出所有的集合
show collections
创建集合
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})默认只修改符合条件第一条数据
db.collection_name.update({select_conditional}, {$set : select_content}, {mutil : true})全部修改
在newdb集合中创建文档
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字段的年龄
默认只修改符合条件的第一条数据
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}
查询文档
查询全部
db.collection_name.find() 查询全部数据
db.collection_name.findOne(conditional) 查询符合条件的第一条数据
db.collection_name.find(coonditional) 查询符合条件的全部数据
> 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}
比较运算符
$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}
逻辑运算
and且的关系
默认就是且的关系(两者都有)
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或者的关系
> 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":"猫"}
范围运算
$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":"鸡"}
正则表达式
$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" : "老鼠" }
调用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" : "猫" }