MongoDB独特的数据处理方式,可以将热点数据加载到内存,故而对查询来讲,会非常快(当然也会非常消耗内存);
采用了BSON的方式存储数据,故而对JSON格式数据具有非常好的支持性以及友好的表结构修改性,文档式的存储方式,数据友好可见;
数据库的分片集群负载具有非常好的扩展性以及非常不错的自动故障转移
// 1. 引入一个包,mongoose 可以帮我们通过编程的方式操作 MongoDB数据库(1. 命令行 2. Robo 3T 操作) const mongoose = require(‘mongoose‘); // 2. 链接MongoDB数据库 // mongodb:// 协议 nodejs---mongodb之间通信 // localhost[:27017] 主机[:端口] // test 数据库的名称,数据库可以不存在 dns 域名解析系统 // mongodb://localhost/test 一般叫做 dsn data source name 数据源名称 mongoose.connect(‘mongodb://localhost/test‘); // 3. mongoose.model 是monogoose提供一个方法 可以创建一个构造函数。 返回值构造函数 // Cat 构造函数的名称,对应 MongoDB 数据库里面的表名,注意:自动进行转换为小写,加上复数形式 // { name: String } 表中的字段 String 类型 // 这种写法: 代码先行。 这种 模式: ORM 模式 (object Relationship Map) (object Relationship Model) // 对象关系模型、对象关系映射: 俗话,就是让我们使用 面向对象的语法去操作数据库 。 // 1. mongoose.model 返回值构造函数 ==== 非关系型数据库 集合(表) // 2. 通过构造函数得到的实例对象 ====== 非关系型数据库的 文档(记录) // 3. 实例对象上面存在很多方法 .save() | update() | remove() ==== 非关系型数据库里面的 文档 curd操作(增删改查) const Cat = mongoose.model(‘Cat‘, { name: String, age: Number }); // MongoDB ---》 cats 表 // 4. 实例化模型得到对象 // 实例化时候构造函数的参数,就是表中的记录 const kitty = new Cat( { name: ‘Zildjian‘, age: 2 } ); // 5. kitty.save() 自动把数据存储到表里面 { name: ‘Zildjian‘, age: 2 } 返回值 Promise对象 kitty.save().then( function () { console.log( ‘insert ok!‘ ); } );
前端随心记(二)---------nodejs基础学习-MongoDB数据库一版
原文:https://www.cnblogs.com/hudunyu/p/11386476.html