Mongoose是在nodejs环境中对MongoDB数据库操作的封装,一种对象模型工具,可以将数据库中的数据转换为javascript对象供我们使用。
Mongoose安装
npm install mongoose安装成功后,我们就可以使用 require(‘mongoose’)来使用了;
下面是链接本地数据库 mongoosedb,代码如下:
var mongoose = require('mongoose');
var DB_URL = 'mongodb://localhost:27017/dataDb';/* 链接 */
mongoose.connect(DB_URL);
/* 链接成功 */
mongoose.connection.on('connected', function() {
console.log('Mongoose connection open to ' + DB_URL);
});
// 链接异常
mongoose.connection.on('error', function(err) {
console.log('Mongoose connection error:' + err);
});
// 链接断开
mongoose.connection.on('disconnected', function() {
console.log('Mongoose connection disconnected');
});
如下图所示

从如上代码,监听了几个事件,并且执行触发了connected事件,这表示连接成功。
2. Schema介绍
它是一种以文件形式存储的数据库模型骨架,不具备对数据库操作的能力,仅仅只是数据库在程序片段中的一种表现,可以理解为表结构。
那么如何去定义一个Schema呢?请看如下代码:
var mongoose = require('mongoose');
var TestSchema = new mongoose.Schema({
name: { type: String }, // 属性name,类型为String
age: { type: Number, default: 30 }, // 属性age,类型为Number,默认值为30
time: { type: Date, default: '当前时间' }
});如上在我们的TestSchema中每个key在我们的文件将被转换为相关的SchemaType定义的一个属性。允许使用的SchemaTypes有如下类型:
String
Number
Date
Buffer
Boolean
Mixed
ObjectId
Array
如果我们在如上编写完成后,我们需要添加额外的键的话,我们可以使用Schema中的add方法.
3. 创建一个模型
我们上面定义了Schema,我们需要将我们的TestSchema转成我们可以使用的模型,模型具有对数据库操作的能力。
我们可以通过 mongoose.model(modelName, schema);
先来结合schema和创建一个模型来简单的看一个demo,如下代码:
var mongoose = require('mongoose');
// schema定义
var TestSchema = new mongoose.Schema({
name: { type: String },
age: { type: String },
sex: { type: String }
});// 创建model
var TestModel = mongoose.model('test1', TestSchema);
// 初始化数据
var TestInt = new TestModel({
name: 'kongzhi',
age: '30',









