mongoDB数据库的增删改查【查询数据】@[a1396537376]

mongoDB数据库的增删改查【查询数据】

MongoDB官网

为node做基础准备,入门级

1.首先,使用windows 的bat 文件快速启动 mongoDB数据库(不涉及可视化界面)

1-1这边使用黑窗口进行代码演示,方便直观了解。

1.cd 到MongoDB的安装bin目录下
2.键入:mongod.exe --dbpath E:\MongoDataBase (后面参数是数据文件的存放位置,可以自拟)
3.成功后,会自动生成数据的配置文件。

1-2对以上代码进行封装

利用.bat文件进行一键式启动数据库:
1.配置好环境变量:path环境变量中添加一个指针,指向安装目录的bin值
2.编辑.bat文件:
echo “MongoDB starting…”
mongod --dbpath E:\MongoDataBase (参数为我个人参数,跟随实际安装路径改变)
pause
3.客户端连接服务端数据库:
mongo 127.0.0.1:27017 (该数据库的常用端口是27017)
4.进行数据库查询:
show dbs
上图:
在这里插入图片描述

2.实际操作

tip 黑窗口键入mondb,对数据库进行操作

2-1添加数据:

插入数据,随着数据的插入,数据库创建成功了,集合也创建成功了。
tip:和mysql不同的是,插入数据的同时,等同于创建一个新的数据库
$语法:
db.表名.insert({“name”:“zhangsan”}); student 集合名称(表)
在这里插入图片描述

2-2查询数据

1、查询所有记录

db.userInfo.find();

相当于:select* from mon;
2.、查询去掉后的当前聚集集合中的某列的重复数据

db.mon.distinct(“name”);

会过滤掉 name 中的相同数据 相当于:select distict name from mon;
在这里插入图片描述
3、查询 age = 19 的记录

db.mon.find({“age”: 19}); 相当于: select * from mon where age = 19;
在这里插入图片描述
4、查询 age > 19 的记录

db.mon.find({age: {$gt: 22}}); 相当于:select * from mon where age >19;
在这里插入图片描述
5、查询 age < 19 的记录

db.mon.find({age: {$lt: 19}});

相当于:select * from mon where age <19
在这里插入图片描述
6、查询 age >= 19 的记录

db.mon.find({age: {$gte: 25}});

相当于:select * from mon where age >= 19;

7、查询 age <= 19的记录

db.mon.find({age: {$lte: 19}});

8、查询 age >= 19并且 age <= 22注意书写格式

db.mon.find({age: {$gte: 19, $lte: 22}});
在这里插入图片描述

9、查询 name 中包含 mongo 的数据 模糊查询用于搜索

db.mon.find({name: /王/});

//相当于%%

select * from mon where name like ‘%mongo%’;
在这里插入图片描述
10、查询 name 中以 mongo 开头的

db.mon.find({name: /^mongo/});

select * from mon where name like ‘mongo%’;

11、查询指定列 name、age 数据

db.mon.find({}, {name: 1, age: 1});

相当于:select name, age from mon;

当然 name 也可以用 true 或 false,当用 ture 的情况下和name:1 效果一样,如果用 false 就 是排除 name,显示 name 以外的列信息
在这里插入图片描述
在这里插入图片描述
12、按照年龄排序 1 升序 -1 降序

升序:db.mon.find().sort({age: 1});

降序:db.mon.find().sort({age: -1});
在这里插入图片描述

在这里插入图片描述13、查询前 3 条数据

db.mon.find().limit(3);

相当于:select top 3 * from mon;
在这里插入图片描述

14、查询在 5-10 之间的数据 【重要】

db.mon.find().limit(10).skip(5);

可用于分页,limit 是 pageSize,skip 是第几页 *pageSize
在这里插入图片描述
对比总数据:
在这里插入图片描述
15、or 与 查询

db.mon.find({$or: [{age: 19}, {age: 18}]});

相当于:select * from mon where age = 22 or age = 25;
在这里插入图片描述
tip:对象思想:$or传入一个数组,数组携带两个对象…
16、查询某个结果集的记录条数 统计数量

db.mon.find({age: {$gte: 25}}).count();
在这里插入图片描述
相当于:select count(*) from mon where age >= 20;

如果要返回限制之后的记录数量,要使用 count(true)或者 count(非 0) db.mon.find().skip(10).limit(5).count(true);

完结撒花,say end:上面由简单到深入的了解查询语句的结构,花半小时撸一遍收益不少呢,不定期跟新monDB学习系列~~~
彩蛋:js 语法循环插入数据

。。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值