mongoose是什么?
Mongoose库是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,Mongoose将数据库中的数据转换为JavaScript对象以供你在应用中使用。
安装mongoose
通过:npm install mongoose 或 cnpm 都可。
连接数据库
使用mongoose连接数据库的前提条件是:
1、mongo数据库已经运行。
2、已经安装了mongoose包
// 连接字符串格式为mongodb://主机/数据库名
mongoose.connect('mongodb://localhost/student);
//意思为 连接到本地的mongodb的student表。
// 连接本地mongodb ,本机的ip 127.0.0.1,端口:27017 数据库:student
mongoose.connect( "mongodb://127.0.0.1:27017/student" , (err) =>{
if( err ) throw err
//如果连接成功,则打印出connected to Mongodb
console.log("connected to Mongodb");
});
Schema的定义
先了解一个概念 Schema:数据库模型骨架
Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力
Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对
Entity : 由Model创建的实体,他的操作也会影响数据库
如果将其理解为人民币发行时 会先有一个原始的刻板 也就是最开始的骨架就是(Schema),然后创建出测试版的纸币(Model),最后测试完成开始发行(Entity)
- 定义 Schema 原始刻版
- 定义 Model 测试纸币 可以进行数据库的操作
- 定义 Entity 真实的纸币
存储数据步骤:定义Schema (骨架) > 创建model(模型)> Entity实例化方法。
// 1. 定义Schema
// var studentsSchema = new mongoose.Schema( options ) //options是用来定义存储数据的数据类型
var studentsSchema = new mongoose.Schema( {
// 数据: 数据类型
id: Number,
name: String,
age: Number
})
// 2. 定义模型
// var studentsModel = mongoose.model( 集合名称,骨架 )
var studentsModel = mongoose.model( 'students', studentsSchema )
// 3. 定义实体
var students = new studentsModel()
接下来就是对数据库的增删改查