安装mongodb数据库
启动数据库:在cmd窗口下输入mongo
查看数据库:show dbs
进入数据库:use test
创建数据库:首先先进入数据库:use test 然后向表中插入数据:db.user.insert({"username":"zhangsan","age":20})
查看当前数据库下的表:show collections
查看表里面的内容:db.user.find()
删除数据库:首先先进入数据库:use test 然后输入:db.dropDatabase()
删除一个表:db.test02.drop() 其中test02是表名
查找指定数据:db.user.find({"age":"13"}) 查找年龄为13的人的数据,db.user.find({"username":"zhangsan"}) 查找名字叫zhangsan的人的数据
查找表里面年龄大于22的数据:db.user.find({"age":{$gt:"22"}})
查找表里面年龄小于22的数据:db.user.find({"age":{$lt:"22"}})
查找表里面年龄大于等于22的数据:db.user.find({"age":{$gte:"22"}})
查找表里面年龄小于等于22的数据:db.user.find({"age":{$lte:"22"}})
查找表里面年龄大于等于23且小于等于26的数据:db.user.find({"age":{$gte:"23",$lte:"26"}})
模糊查询:db.user.find({"username":/zhang/}) 查找表里面名字叫zhangsan的人
模糊查询:db.user.find({"username":/z/}) 查找表里面名字包含z的人
模糊查询:db.user.find({"username":/^z/}) 查找表里面名字以z为开头的人
模糊查询:db.user.find({"username":/n$/}) 查找表里面名字以n为结尾的人
查询指定列年龄大于20的name的数据:db.user.find({"age":{$gt:"20"}},{name:1})
查询指定列年龄大于20的age的数据:db.user.find({"age":{$gt:"20"}},{age:1})
查询指定列 name age数据,age>25 db.user.find({age:{$gt:"25"}},{name:1,age:1})
按照年龄升序排序:db.user.find().sort({age:1})
按照年龄降序排序:db.user.find().sort({age:-1})
查找的时候可以写多个条件:db.user.find({username:'zhangsan',age:"22"}) 名字既要是zhangsan,年龄也要是22
查询前5条数据:db.user.find().limit(5)
查询10条以后的数据:db.user.find().skip(10)
查询第3和第4条数据:db.user.find().skip(2).limit(2) 查询2条以后的数据中的前两条数据

往一个表里面新增100条数据:
for(var i=1;i<=100;i++){
    db.user.insert({"username":"zhangsan"+i,"age":i})
};

查询当前表里面有多少条数据:db.user.find().count()
分页查询:查询当前表第一页的10条数据:db.user.find().skip(0).limit(10)
分页查询:查询当前表第二页的10条数据:db.user.find().skip(10).limit(10)
分页查询:查询当前表第三页的4条数据:db.user.find().skip(20).limit(4)
查询名字叫做zhangsan1或zhangsan13的人 db.user.find({$or:[{"username":"zhangsan1"},{"username":"zhangsan13"}]})
查询年龄是1321的人 db.user.find({$or:[{"age":13},{"age":21}]})
查询第一条数据:db.user.findOne()
查询表里面年龄大于60的人的数量 db.user.find({"age":{$gt:60}}).count()
将表中的zhangsan6修改成张三:db.user.update({"username":"zhangsan6"},{$set:{"username":"张三"}})
给表中姓名为张三,年龄为6的人新增性别为男:db.user.update({"username":"张三","age":6},{$set:{"sex":"男"}})
将表中姓名为张三的人的年龄修改成58:db.user.update({"username":"张三"},{$set:{"age":58}})
批量修改:将表中年龄为58的人的性别全部修改为男:db.user.update({"age":58},{$set:{"sex":"男"}},{multi:true})
将表中姓名为张三的人删除:db.user.remove({"username":"张三"})
删除表中的全部数据:db.user.remove({})
将表中年龄大于30的数据全部删除:db.user.remove({"age":{$gt:30}})
只删除表中年龄大于10的一条数据:db.user.remove({"age":{$gt:10}},{justOne:true})
查看查询语句的执行时间:db.user.find({"username":"zhangsan1"}).explain("executionStats") 其中executionTimeMillis就是执行时间(ms)
创建索引:db.user.createIndex({"username":1}) 创建了索引之后查询数据就会变快
查看当前表的索引:db.user.getIndexes()
删除索引:db.user.dropIndex({"username":1})
复合索引:db.user.createIndex({"username":1,"age":-1})
指定索引名:db.user.createIndex({"username":1},{"name":"userindex"})
创建唯一索引:db.user.createIndex({"age":1},{"unique":true}) 当给age创建了唯一索引后再向表中插入同样的数据就会报错
删除唯一索引:db.user.dropIndex({"userid":1})

创建超级管理员:
use admin
db.createUser({
    user:'admin',
    pwd:'123456',
    roles:[{role:'root',db:'admin'}]
})

查看当前库的管理员权限:show users
修改Mongodb数据库配置文件:
在Mongodb文件夹下找到mongod.cfg文件,进入修改里面的security文件
security:
  authorization: enabled

在cmd窗口上输入:services.msc 进入mongodb的配置服务页面,重启mongodb服务

在cmd窗口上输入:mongo admin -u admin -p 123456 进入超级管理员页面

删除管理员:db.dropUser("admin")

创建普通管理员:
use user
db.createUser(
    {
        user:"useradmin",
        pwd:"123456",
        roles:[{role:"dbOwner",db:"user"}]
    }
)

创建完成之后再退出到cmd窗口输入 mongo user -u useradmin -p 123456 进入普通管理员页面
修改管理员密码:db.updateUser("admin",{pwd:"12345"})
密码认证:db.auth("admin","123456") 在cmd窗口下直接密码认证就可以进入数据库,注意必须先链接数据库 mongo admin

node.js操作数据库
首先先在文件夹创建一个项目:在当前目录下打开cmd窗口输入:npm init --yes
然后用vscode打开,在终端安装mongodb数据库:npm i mongodb --save
在文件夹下新建app.js文件