Mongodb数据库入门系列(一)

本篇文章适合新手想学习mongodb数据库的前端开发同学,都是一些数据库基础操作的整理,第一篇主要是针对数据库表(集合)的增、删、改、查的一些操作。

1、安装mongodb数据库

安装的过程没什么好说,选择对应的操作系统的mongodb数据库,然后傻瓜式安装点击下一步就可以了,点这里下载,需要注意的一点就是安装的过程中可能我们呢选择了数据库的data存储的目录可能还是不能启动的状况,所以我们最好是自己再创建一个文件用来存储mongodb数据的,如下:我是安装再了C盘下面,自己创建了一个 DBdata/data 存储mongodb的数据

2、启动mongodb数据库

在 C:\MongoDB\bin 下面打开cmd终端,输入命令 mongod --dbpath C:\DBdata\data 启动,后面的路径就是刚刚创建的用来存储mongodb数据的路径,此时此时访问 localhost:27017 出现如下页面说明启动成功

3、接下就是使用cmd终端命令对mongodb进行的一些操作了

首先在 C:\MongoDB\bin 下面在打开一个 cmd, 输入 mongo ,进入mongodb操作界面如下:

操作数据库命令:后面我们操作围绕下图结构操作

  1. 查看数据库:show dbs ;mongodb中默认就会有三个数据库,amdin、config、local,这三个我们都不需要动
  2. 使用/创建数据库:use 数据库名称;use abc 使用 abc 数据库,如果原本不存在 abc 数据库,此时还不会创建 abc 数据库,只有当向abc下面的表里面插入数据的时候才会创建对应的数据库和表
  3. 创建user表并插入数据: db.user.insert({ "username": "zhangsan", "age": 20 }),此时成功创建了 abc 数据库和 user 表
  4. 查看数据库下面有那些表:show collections ;可以查看到刚刚创建的 user 表(前提比需要先切换到想要查看的数据库: use 数据库名)
  5. 查询表数据:db.表名称.find(查询条件);查看user表的所有数据,db.user.find(),查询条件可以是一个条件也可以是多个条件例如:{ name: 'zhangsan' } 查找name是zhangsan的数据;{ name: 'zhangsan', age: 12 } 查找name是zhangsan并且age是12的数据
  6. 删除指定表(集合):db.表名.drop() ; 删除 db.user.drop(),如果一个数据库里面表都被删除了那么这个库也就不存在了
  7. 删除数据库,删除当前所在的数据库:db.dropDatabase()
  8. 按照条件进行查询:$gt 大于;$gte 大于等于;$lt 小于;$lte 小于等于;例如:查询 user 表中 age > 20 的数据:db.user.find({ 'age': { $gt: 20 } });年龄在 23 到 26 之间的数据 db.user.find({ 'age': { $get: 23, $lte: 26  } })
  9. 模糊查询name, db.user.find({ 'name':正则表达式 }) ,例如:查询name中包含mongo的数据:db.user.find({ 'name':/mongo/ })  ;就是使用正则查询,一般数据量少的时候可以使用,数据量大可以使用第三方的库
  10. 查询只显示指定的列的数据 db.表名称.find( {条件}, { 展示字段:1, 展示字段2: 1, ... 省略 }) :这种一般适合我们查表得时候数据太多,我们只是想要显示某一些字段的数据的时候(_id, 会默认就展示出来),例如:user 表只让查询结果展示name字段,db.user.find({},{name: 1})
  11. 排序查询 db.表名称.find().sort({ 排序字段: 1 })  1 升序,-1 降序:例如:按照年龄升序查询  db.user.find().sort({ age: 1 })
  12. 查询前几条数据 db.表名称.find().limit(数值)  :例如: 查询user表的前五条数据: db.user.find().limit(5)   
  13. 查询多少条之后的数据:db.表名称.find().skip(数值) :例如:查询5条之后的数据  db.user.find().skip(5)
  14. limit 和 skip 经常用来配合使用实现数据的分页查询,假设我们查询 第三条和第四条数据: db.user.find().skip(2).limit(2)  跳过两条,查询前两条
  15. or 或者查询 db.表名称.find({ $or:[条件一, 条件二, ... 省略] }):例如:找到张三或者老王 db.user.find({$or:[{name: '张三'}, { name: '老王' }]})
  16. 只查找第一条数据 db.表名称.findOne(条件) :比较鸡肋的一个方法没啥太大用处 使用 db.user.find().limit(1) 是同样效果
  17. 修改/更新数据  db.表名称.update( 条件,{ $set: 修改成的数据 }) ;  例如:1、把user 表中张三的年龄改成 20, db.user.update({ name: '张三'  }, { $set: { age: 20 } })   2、把user表中数学分数是 70 的的数据的语文分数改成 95:db.user.update({'score.shuxue': 70}, { $set: { 'score.yuwen': 95 } }) ;ps:里面的 $set 一定要写,如果不写 $set 的话表示的是,数据替换,批量处理把所有name是张三的 age 改成 30  db.user.update({name: '张三' }, { $set: { age: 30 } }, { multi: true }),需要添加第三个参数 { multi: true }.
  18. 删除数据 db.数据名.remove(条件);如果不写条件那么所有的数据就都被删除掉了,如果只是想要删除条件的一条数据,添加第二个参数 { justOne: true } ; 例如: 删除admin中age大于10的数据的第一条, db.admin.remove({ age: { $gte: 10 } }, { justOne: true })

ps:总之就是数据库里面必须有表有数据这个库才存在。

补充:分页查询的实现:首先我们先在user 中的 admin 表中添加 100 条数据,可以在cmd 中使用 for 循环添加,和写js一样

这样数据就添加成功了,输入 it 查看下一页,每次展示 20 条数据,查看总共多少条数据 db.admin.find().count()

分页的实现  db.admin.find().skip((page - 1 )* pageSize).limit(pageSize) :每页10条,查询第 n 页的数据  db.admin.find().skip((n - 1)*10).limit(10);

 

这一篇文章先介绍到这里下一篇会介绍mongodb 索引查询、表关系、mongodb用户权限设置,写的不好的或者有疑问的大家可以留言讨论,感觉还可以有帮助的可以点赞打赏一下。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值