JavaScript第25天

mongo就是基于json的数据库,json就是JavaScript Object Notation

        1、安装&启动:

                1、解压mongodb-win32-x86_64-2008plus-ssl-3.6.11.zip文件

                2、打开bin文件夹,里面有:mongo.exe(客户端) 和 mongod.exe(服务器端)

                3、如何启动

                        1、在bin文件夹中打开cmd:输入:.\mongod.exe --dbpath=你想要保存的绝对文件夹路径; - 服务器开启成功,而且那个文件夹就保存着你以后要存储的所有的数据

                        2、不要关闭mongo服务器的cmd

                        3、再打开一个cmd:输入:.\mongo.exe - 在上一个命令行可以查看我们是否链接成功 - 客户端开启成功

 

 

         2、mongo的语法:都是在客户端cmd输

                1、数据库的操作

                        1、查询所有数据库:show dbs
                        2、创建/切换数据库:没有就创建,有了就切换:use 数据库名称
                        3、查看当前选中的数据库:db
                        4、创建数据表:db.createCollection("表名") - 无限,一定要先创建数据表后,我们才能查看到自己创建的数据库
                        5、删除数据库:db.dropDatabase(); - 一旦删除不能恢复,不推荐

                2、数据表的操作
                        1、创建数据表:db.createCollection("表名",{size:5242880,capped:true,max:5000}) - 最大存储空间为5mb,最多存储500个,意味着这个数据表做了限制,不推荐
                        2、查看目前所有的数据表:db.getCollectionNames();
                        3、删除数据表:db.表名.drop();

                3、数据的操作

                        1、增:

                                db.表名.save({键值对,...}) - 一次只能插入一条数据

                                db.表名.save([{},{},{},....]) - 一次插入多条数据

                                如:

db.user.save([{name:"小明",age:18,pwd:"666666",email:"xm@qq.com",vip:"0"},{name:"小红",age:19,pwd:"999999",email:"xh@qq.com",vip:"1"}])

                         2、删:

                                db.表名.remove({}) - 不推荐,删除数据库中所有的数据

                                db.表名.remove({name:"任小波"}) - 会删除数据库中name:"任小波"的所有数据

                        3、改:

                                db.表名.update({条件},{$set:{新内容}});

db.user.update({name:"小明"},{$set:{pwd:"123123"}});

                        4、查:

//db.表名.find(); - 找所有
//db.表名.find({pwd:"666666"}); - 找到所有的密码为666666的数据
//db.表名.find({},{name:1,pwd:1}) - 找到所有的数据,但是只返回name和pwd
//db.表名.find().sort({age:1}) - 按照age升序排列,-1为降序排列
//db.表名.find({age:{$gte:18}}) - 拿到所有age大于等于18的数据
//db.表名.find({name:/正则/}) - 甚至可以用正则(模糊查询)
//db.表名.find().skip(5).limit(5) - 跳过前5条,再拿5条,理解为5-10条数据(第几个分页条显示第几条数据-第几条数据)
//db.表名.find().count() - 获取到此表有多少条数据(做出分页条)

        3、安装mongoDBCompass软件:图形化界面,直观、好看、方便

        4、Node.js操作mongoDB:

                1、安装第三方模块:mongoose

                2、使用步骤:

                        1、引入:const mongoose = require('mongoose');

                        2、连接数据库:mongoose.connect("mongodb://127.0.0.1/数据库名称");

                        3、创建出一个新的数据表的同时,设置数据类型的控制,防止用户乱输

const UserSchema=mongoose.Schema({
	name: String,
    age: Number,
	pwd: String,
	email: String,
	vip: String,
})
                //		模型名    类型限制     
var User=mongoose.model("User",UserSchema,"数据表名");

                        4、增:

var x=new User({
//仅仅只是创建出了一个x对象,并没有放入到数据库之中
	name: "dy",
    age: "20",
	pwd: "123123",
	email: "dy@qq.com",
	vip: "0",
})
x.save((err)=>{
    console.log("新增成功后要干什么");
})

                        5、删:

User.remove/deleteOne/deleteMany({条件},(err)=>{
// - 作者不推荐remove在mongoose之中使用
    console.log("删除成功后要干什么");
})

                        6、改:

User.update/updateOne/updateMany({条件},{新内容},(err)=>{
// - 作者不推荐update在mongoose之中使用
    console.log("修改成功后要干什么");
})

                        7、查:

User.find({条件},(err,result)=>{
    result就是你的查找到的结果
})

                        强调:mongoose不要下载

                        目前:前端能传到后端的技术,只有一个:form表单,action属性可以随便自定义一个路由名称,后端解析此路由就可以通过objUrl.query.键名得到想要的部分

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值