MongoDB基础

  • 1.多表联合查询一次,和单表查询多次,那个效率高?
  • 2.手机模拟器选择:
  • 3.大概2千万数据可以用mysql主存复制,再大就效率就不行了。
  • 4.redis支持持久化。
  • 5.mongoDb类似于:mysql+redis
  • 6.MongoDB 由C++语言编写,是一个跨平台面向`文档`的数据库
  • 7.MongoDB 存储结构:数据库、集合(表)、文档(数据)
  • 8.BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON
  • 9.mongoDb文档:修改数据是在当前行修改,还是删除原来的换一行重新添加 ?
  • 10.mongoDb注意事项:
  • 11.sql和MongoDB 对比:
  • 12.yapi的数据存储用的就是mongoDb
  • 13.mongoDb默认端口27017
  • 14.mongoDb库至少有一个集合才能被查询到
  • 15.mongoDb的每个文档存储的字段都可以不同。
  • 16.updateOne,如果多个满足条件,那么更新第一个
  • 17.默认主键自动生成索引。
  • 18.主键id必须用ObjectId.get()生成的全球id,不能自定义id。
  • 19.查看所有的表名:show collections 。
  • 20.mongoTemplate.save支持主键返回。
  • 21.构造条件
  • 22.实体类上的Mongo文档注解:
  • 23.增删改查都需要根据集合名(表)来操作:
  • 24.regex模糊查询。
  • 25.查询操作顺序:条件,排序,分页


1.多表联合查询一次,和单表查询多次,那个效率高?

单表效率高。

在数据量不大的情况下多表连接查询和多次单表查询的效率差不多。

如果数据量足够大,那肯定是多次单表查询的效率更高。

在一些大的公司里面,都会禁用多表连接查询,原因就是一旦数据量足够大的时候多表连接查询效率会很慢,而且不利于分库分表的查询优化。

2.手机模拟器选择:

木木不支持分页,逍遥不支持相机

3.大概2千万数据可以用mysql主存复制,再大就效率就不行了。

4.redis支持持久化。

5.mongoDb类似于:mysql+redis

6.MongoDB 由C++语言编写,是一个跨平台面向文档的数据库

7.MongoDB 存储结构:数据库、集合(表)、文档(数据)

8.BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON

9.mongoDb文档:修改数据是在当前行修改,还是删除原来的换一行重新添加 ?

直接修改。

10.mongoDb注意事项:

mongoDb支持地理位置索引,

不支持表连接,

主键只能是ObjectId.。

11.sql和MongoDB 对比:

RDBMS

MongoDB

database(数据库)

database(数据库)

table (表)

collection( 集合)

row( 行)

document( BSON 文档)

column (列)

field (字段)

index(唯一索引、主键索引)

index (支持地理位置索引、全文索引 、哈希索引)

join (主外键关联)

表连接,MongoDB不支持

primary key(指定某个列做主键)

primary key (固定 _id 字段做为主键)

12.yapi的数据存储用的就是mongoDb

13.mongoDb默认端口27017

14.mongoDb库至少有一个集合才能被查询到

15.mongoDb的每个文档存储的字段都可以不同。

通常情况存一样的。

16.updateOne,如果多个满足条件,那么更新第一个

17.默认主键自动生成索引。

18.主键id必须用ObjectId.get()生成的全球id,不能自定义id。

19.查看所有的表名:show collections 。

20.mongoTemplate.save支持主键返回。

save有主键更新,支持主键返回,不支持主键新增。

21.构造条件

// 构建条件
        Query query = new Query(
                Criteria.where("age").lt(30)
                .and("username").regex("ja")
        );

22.实体类上的Mongo文档注解:

@Document(value=“user”) // 集合(表)名

单表 mongodb vs mysql 查询 mongodb联表查询效率怎么样_spring boot

23.增删改查都需要根据集合名(表)来操作:

1)如果有注解可以直接User.class

2)collectionName:“user”

24.regex模糊查询。

25.查询操作顺序:条件,排序,分页