建设网站工作内容,电影院卖品套餐计划,如何进入微信公众号平台,wordpress 页面标题#安装mongodb#
第一步 下载mongoDb: 官网https://www.mongodb.com/
第二步 进行安装配置修改Data directory 和 Log Directory 将数据目录和日志目录存放在D盘
第三步 取消install MongoDb Compass这个是安装可视化工具的意思在这里不需要 #配置环境变量加入到系统中的path环…#安装mongodb#
第一步 下载mongoDb: 官网https://www.mongodb.com/
第二步 进行安装配置修改Data directory 和 Log Directory 将数据目录和日志目录存放在D盘
第三步 取消install MongoDb Compass这个是安装可视化工具的意思在这里不需要 #配置环境变量加入到系统中的path环境变量中#
第一步 选择计算机右击属性 高级系统设置 高级 环境变量 系统变量 path 新建 把数据库的目录路劲到bin这一层 # mongodb账户权限的配置
第一步 mongo进入链接
第二步 use admin
第三步 创建超级管理员db.createUser({user:admin,pwd:123456,roles:[{role:root,db:admin}]})
第四步 修改配置文件项目安装包的bin目录下面的mongod.cfg 用记事本进行打开找到security这一项 添加 securityauthorization:enabled
第五步 重启服务windowr 输入services.msc回车 找MongoDB Server点击右键重启
第六步 重新登录 mongo admin -u admin -p 123456
# 单个创建数据库的权限
第一步 use user
第二步 db.createUser({user:useradmin,pwd:123456,roles:[{role:dbOwner,db:user}]})
第三步 进入单独的数据库 mongo user -u useradmin -p 123456
# 其他命令操作
查看当前库下的用户 show users
删除用户 db.dropUser(useradmin)
修改密码 db.updateUser(admin,{pwd:234567})
密码认证 db.auth(admin,password) #mongo数据库的命令操作#
第一步进行链接 打开终端输入mongo 进入链接
第二步查看所有数据库 输入 show dbs admin config local是数据内置的数据库 不用管理
第三步创建数据库及进入数据库use itying ; 创建itying的数据库这时候show dbs是查不到当前表的需要往数据库中插入表以及数据。进入数据库也是执行use itying
第四步插入表和数据输入 db.user.insert({name:zhangsan}) 相当于创建了user表插入了数据
第五步查看数据中所有的表也叫集合进入数据库 use itying show collections最后是user表
第六步查看user表中的数据 db.user.find()
第七步删除数据库 首先要进入到数据库use itying删除数据库 db.dropDatabase();
第八步删除表也就是集合 db.user.drop() #查找数据的操作user表#
查找所有的记录 db.user.find()
查找指定数据 db.user.find({age:12})
查询大于或小于age 22的方法 db.user.find({age:{$gt:22}}) db.user.find({age:{$lt:22}})
查询大于等于或小于等于age 22的方法 db.user.find({age{$gte:22}}) db.user.find({age:{$lte:22}})
查找age23 age26的方法 db.user.find({age:{$gte:23,$lte26}})
模糊查询用于搜索,查询name中包含zhang的数据db.user.find({name:/zhang/})
查找name中以z开头的数据 db.user.find({name:/^z/})
查找name中以s结尾的数据 db.user.find({name:/s$/})
查找指定列的数据比如namedb.user.find({}.{name:1})
查找指定列的数据并有条件比如age20只显示age; db.user.find({age:{$gt:20}},{age:1})
按照年龄进行升序 降序db.user.find().sort({age:1}) db.user.find().sort({age:-1})
查询age12 namezs; db.user.find({name:zs,age:12})
查询前5条数据 bd.user.find().limit(5)
查询10条以后的数据 db.user.find.skip(10)
查询10条以后的两条数据db.user.find.skip(10).limit(2)
查询数据的数量 db.user.find().count()
limit与skip可用于分页查询 db.user.find().limit(每页数).skip(第几页-1再乘每页数)
或的语法使用 db.user.find({$or:[{age:22},{age:25}]})
查询第一条数据 db.user.findOne()
查询某个结果的数据统计 db.user.find({age:{$gte:25}}).count() #mongodb数据的增删改查#
把name是zs的age修改为18 db.user.update({name:zs},{$set:{age:18}});也可以进行新增
把所有匹配的全部更新把age为12的性别改为男 db.user.update({age:12},{$set:{sex:男}},{multi:true})
删除数据db.user.remove({age:12})
按查找条件删除并且只删除一条数据 db.user.remove({age:{$gt:12}},{justOne:true}) # 索引基础 查找数据的时间会变得更快 #
查询某个语句具体执行的时间 db.user.find({name:zs}).explain(executionStats)
查询当前集合的索引 db.user.getIndexes()
给name创建索引db.user.ensureIndex({name:1})
删除索引 db.user.dropIndex({name:1})
给字段设置唯一的索引让字段的值不能够进行重复db.user.ensureIndex({age:1},{unique:true}) # 关系型数据库表与表之间的关系 #
1 一对一的关系一个人对应一个身份证
2 一对多的关系一个班级对应多个学生
3 多对对的关系一个学生可以选择多门课程 一门课程也可以被多个学生选修 # mongoDB聚合管道可以对集合中的文档进行变换和组合 #
数据模拟order订单表 订单商品表order_item
db.order.insert({order_id:1, uid:10, trade_no:111, all_price:100, all_mum:2})
db.order.insert({order_id:2, uid:7, trade_no:222, all_price:90, all_mum:2})
db.order.insert({order_id:3, uid:3, trade_no:333, all_price:20, all_mum:6})
db.order_item.insert({order_id:1, title:商品鼠标, price:50, mum:1})
db.order_item.insert({order_id:1, title:商品键盘, price:50, mum:1})
db.order_item.insert({order_id:2, title:牛奶, price:50, mum:1})
db.order_item.insert({order_id:2, title:酸奶, price:40, mum:1})
db.order_item.insert({order_id:3, title:矿泉水, price:2, mum:5})
db.order_item.insert({order_id:3, title:毛巾, price:10, mum:1})
1 $project查询指定的字段最后的结果就是只显示指定的字段。
比如查找order中tarde_no和all_price字段
db.order.aggregate([ { $project:{trade_no:1,all_price:1} } ])
2 $match用于过滤相当与find方法中的参数
db.order.aggregate([ { $project:{trade_no:1,all_price:1} }, { $match:{all_price:{$gte:90}} } ])
3 $group统计每个订单的订单数量按照订单号进行分组 并求num的和
db.order_item.aggregate([ { $group:{_id:$order_id,total:{$sum:“$num”}} } ])
4 $sort 进行排序
db.order.aggregate([ { $project:{trade_no:1,all_price:1} } { $sort:{all_price:-1} } ])
5 $limit 限制返回的数据条数
db.order.aggregate([ { $project:{trade_no:1,all_price:1} } { $sort:{all_price:-1} } { $limit:1 } ])
6 $skip 跳过几条数据
db.order.aggregate([ { $project:{trade_no:1,all_price:1} } { $sort:{all_price:-1} } { $skip:10 } ])
7 $lookup 用于表关联查询订单表中某个订单号的数据对应商品表中的所有的数据
例如[order_id:, Trade_no:, items:[{title鼠标price:20}{title:键盘price30}] ]
db.order.aggregate([ { $lookup: { from :order_item, 要关联的表 localFiled‘order_id’ 当前表要关联的字段 foreignFieid‘order_id’ , 要关联表对应的id, as:items 用什么字段存储数据 } } { $match:{all_price:{$gte:90}} 后面可以再跟筛选的条件 } ]) # nodejs 操作mongoDB数据库 #
第一步初始化项目 npm init -y 进行安装 npm install mongodb --save
第二步 进行链接
const MongoClient require(mongodb).MongoClient
const url mongodb://localhost:27017 数据库的地址通过cmd打开终端输入monge回车
会显示地址。
const dbName myproject // 要操作的数据库
const client new MongoClient(url{useUnifiedTopology:true})
client.connect(function(err){ if(err){console.log(链接失败) return } console.log(Connected successfully to server) const db client.db(dbName) 通过db就可以操作myproject的数据库了 查找数据从user表中查找 db.collection(user).find({}).toArray((err,data){ console.log(data) client.close() 操作后一定要关闭链接 }) 增加数据 db.collection(user).insertOne({name:zs},(err,data){ if(err){console.log(增加失败) return } console.log(增加成功) client.close() 操作后一定要关闭链接 }) 删除一条数据 db.collection(user).deleteOne({name:zs},(err,data){ if(err){console.log(删除失败) return } console.log(删除成功) client.close() 操作后一定要关闭链接 }) 删除多条数据 db.collection(user).deleteMany({name:zs},(err,data){ if(err){console.log(删除失败) return } console.log(删除成功) client.close() 操作后一定要关闭链接 }) 修改数据 db.collection(user).updateOne({name:zs},{$set:{name:ls}},(err,data){ if(err){console.log(修改失败) return } console.log(修改成功) client.close() 操作后一定要关闭链接 })
})
# 服务器与数据库之间的链接 #
const {MongoClient} require(mongodb)
const url mongodb://localhost:70732
const dbName itying
app.get(/,function(req,res){ MongoClient.connect(url,(err,client){ if(err){console.log(err) return } let db client.db(dbName) db,collection(user).find({}).toArray((err,data){ if(err){console.log(err) return } res.send(data) client.close() 操作后一定要关闭链接 }) }) })