Skip to main content
 首页 » 数据库

mongodb 数据库无模式应用

2022年07月19日147cloudgamer

mongodb 数据库无模式应用

mongodb 无模式应用,采用关系型数据库无法企及的优势。

mongodb相对RDBMS的优势

无模式:mongodb是文档型数据库,集合中包括多个文档,每个文档包括多个字段,不同文档之间结构可以不同。除此还有其他优势如下:

  • 单个对象的结果非常清晰
  • 没有复杂的连接
  • 强大的查询能力,支持动态查询
  • 方便优化
  • 容易扩展
  • 无需应用对象和数据库对象之间转换
  • 使用内存存储工作集,提升数据访问速度

mongodb创建数据库和集合

use DATABASE_NAME
该命令创建一个数据库,如果数据库不存在则新建,否则返回已经存在的数据库。

db.createCollection(name, options)
创建集合,参数name是集合的名称,Options是文档参数,用于知道集合的配置。集合也可以先不创建,当插入数据时自动创建。

insert()方法
语法如下:
db.COLLECTION_NAME.insert(document)
示例:

db.mycol.insert({ 
   _id: ObjectId(7df78ad8902c), 
   title: 'MongoDB Overview',  
   description: 'MongoDB is no sql database', 
   by: 'tutorials point', 
   url: 'http://www.tutorialspoint.com', 
   tags: ['mongodb', 'database', 'NoSQL'], 
   likes: 100 
}) 

这里mycol是集合的名称,可以已存在,如果库中不存在,那么mongodb先创建,然后再插入。这时关系型数据库无法比拟的优势!!!

  • 如果你定义表相关的元数据,如表名称、描述,以及每个字段信息的描述(名称、描述、数据类型、约束等),基于这些元数据生成公共功能代码或报表;
    对RDBMS先create语句创建表,然后生成相应功能,而mongodb则无需先创建表。

  • 这还不算啥,现实中随着业务变更,表结构变化(增加、减少字段),那关系型数据库就非常麻烦了,alert
    table,里面的数据怎么办,字段长度变了怎么办?

  • mongodb则非常从容,你变了,我不管啊,该怎么存还怎么存,我本来就没有模式限制啊,你只要记录自己的元数据实现你自己业务,其他事情交给mongodb!


本文参考链接:https://blog.csdn.net/neweastsun/article/details/58690041