MongoDB是一个基于分布式文件存储的数据库
由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。
Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引
查询所有
MongoDB db.getCollection('user').find({});
MySQL select * from user;
查询条件:=
MongoDB db.getCollection('user').find({"uclass":"A"});
MySQL select * from user where uclass = 'A';
```
查询条件:like
```json
MongoDB db.getCollection('user').find({"name":/Ba/});
MySQL select * from user where name like '%Ba%';
查询条件:distinct
MongoDB db.getCollection('user').distinct("name");
MySQL select distinct uclass from user u;
查询条件:$gt
MongoDB db.getCollection('user').find({"age":{$gt:16}}); greater than >
MySQL select * from user where age >16;
查询条件:$gte
MongoDB db.getCollection('user').find({"age":{$gte:16}}); gt equal >=
MySQL select * from user where age >= 16;
```
查询条件:$lt
```josn
MongoDB db.getCollection('user').find({"age":{$lt:16}}); less than <
MySQL select * from user where age < 16;
查询条件:$lte
MongoDB db.getCollection('user').find({"age":{$lte:16}}); lt equal <=
MySQL select * from user where age <= 16;
查询条件:$ne
MongoDB db.getCollection('user').find({"age":{$ne:16}}); not equal !=
MySQL select * from user where age != 16;
```
查询条件:$eq
```josn
MongoDB db.getCollection('user').find({"age":{$eq:16}});等效于:db.getCollection('user').find({"age":16});
MySQL select * from user where age = 16;
查询条件:in
MongoDB db.getCollection('user').find({"uclass":{$in:['A', 'B']}});
MySQL select * from user where uclass in ('A', 'B');
```
查询条件:and
```josn
MongoDB db.getCollection('user').find({"uclass":"B", "age":{$gt:16}});
MySQL select * from user where uclass = 'B' and age > 16;
```
查询条件:or
```josn
MongoDB db.getCollection('user').find({$or:[{"uclass":"A"},{"class":"B"}]});
MySQL select * from user where uclass = 'A' or uclass = 'B';
查询条件:时间
MongoDB db.getCollection('user').find({"birthday":{$gt: new Date("2008-08-14T06:24:40.110Z"), $lt: new Date("2015-08-14T06:14:40.089Z")}});
MySQL select * from user where birthday > '2008-08-14 06:24:40' and birthday < '2015-08-14 06:14:40';
```
查询条数:count
```josn
MongoDB db.getCollection('user').find({"uclass":"A"}).count();
MySQL select count(1) from user where uclass = 'A';
查询条件:sort升序
MongoDB db.getCollection('user').find({}).sort({"age":1});
MySQL select * from user order by age asc;
查询条件:sort降序
MongoDB db.getCollection('user').find({}).sort({"age":-1});
MySQL select * from user order by age desc;
聚合查询:count单列
MongoDB db.getCollection('user').aggregate([{$group:{_id:"$uclass",num:{$sum:1}}}]);
MySQL select uclass, count(1) as num from user group by uclass;
聚合查询:count多列
MongoDB db.getCollection('user').aggregate([{$group:{_id:{uclass:"$uclass", age:"$age"},num:{$sum:1}}}]);
MySQL select uclass, age, count(1) as num from user group by uclass, age;
```
分页查询:limit n
```josn
MongoDB db.getCollection('user').find({}).limit(5); 查询前n条
MySQL select * from user limit 5;
分页查询:limit m,n
MongoDB db.getCollection('user').find({}).limit(5).skip(5); 查询n条,从第m条开始
MySQL select * from user limit 5,5;
查询指定字段
MongoDB db.getCollection('user').find({}, {userId:1, name:1}); 第一个{}为查询条件
MySQL select userId, name from user;
```
排查指定字段
```josn
MongoDB db.getCollection('user').find({}, {dataStatus:0, _id:0}); 第一个{}为查询条件
MySQL 无
还没写完
2021-08-16 10:33:18 | |
2021-03-21 07:02:03 | |
2021-09-29 14:37:45 | |
2021-02-03 01:07:23 | |
2023-10-16 05:41:53 | |
2023-03-12 02:06:50 | |
2022-06-16 19:38:02 | |
2024-05-28 23:43:18 | |
2022-05-12 11:33:51 | |
2021-07-08 23:35:07 | |
2022-02-03 06:20:08 | |
2024-08-16 11:30:29 | |
2022-05-03 07:23:52 | |
2024-10-17 11:46:22 | |
2024-12-04 16:48:23 | |
2024-12-20 01:13:58 | |
2024-11-10 05:55:00 | |
2024-10-24 09:09:55 | |
2024-10-24 11:28:24 | |
2024-10-30 11:25:44 | |
2023-01-26 10:06:10 | |
2023-01-26 10:06:10 | |
2023-01-26 10:06:09 | |
2023-01-26 10:06:08 | |
2023-01-26 10:06:07 |
黄宏棵 13286997615
数据集成顾问 资深系统集成顾问,专长于ERP、电商OMS、钉钉及CRM系统。他能提供高效的集成方案,优化企业运营流程,提升业务效率和决策智能化。
胡秀丛 15813570600
数据集成顾问 项目总监 她以卓越的数据集成专长,精通ERP、MES系统,以及数据中台的构建与优化。通过创新的一站式解决方案,她助力企业实现数据的无缝对接,提升业务流程效率,确保信息流通无障碍,为企业的数字化转型提供强有力的支持。
卢剑航 13760755942
数据集成专家 拥有十多年丰富的经验,擅长ERP、MES、数据中台、营销云中台等集成。他能够根据客户需求,为其提供一站式集成解决方案,帮助企业快速实现各类系统数据集成服务。