mongoose是操作mongodb的一个数据模型库;封装了mongodb对文档操作的常用处理方法(增删改查),让nodejs操作mongodb数据库变得快捷灵活。
安装mongoose
在昨天的mongo目录下安装mongoose1
npm install mongoose
连接数据库
新建mongoose.js,并编辑1
2
3
4
5
6
7
8var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://localhost/test');
db.connection.on('error', function(error) {
console.log('数据库test连接失败:' + error);
});
db.connection.on('open', function() {
console.log('数据库test连接成功');
});
打开一个终端,开启mongodb服务:1
mongod
再打开一个终端,运行mongoose.js:1
2node mongoose.js
<!--成功后便会输出:数据库test连接成功-->
Schema/Model
1.Schema: 数据库集合的结构对象(一个Schema对应一个collection),定义document文档结构
2.Model: 由Schema构建而成,可操作数据库
继续编辑mongoose.js,在数据库连接成功的情况下,在数据库test中新建一个集合test11
2
3
4
5
6
7
8
9var TestSchema = new mongoose.Schema({
name: {type: String},
age: {type: Number, default: 0},
email: {type: String},
time: {type: Date, default: Date.now}
});
var TestModel = db.model('test1', TestSchema);
<!--集合名称,集合的结构对象-->
<!--Document文档(关联数组式的对象)< Collection对象 < 数据库-->
Model数据插入
插入保存一组数据1
2
3
4
5
6
7
8
9
10
11
12TestModel.create([
{name: 'mogu', age: 8},
{name: 'lly', age: 9},
{name: 'nobody', age: 38, email: '123@qq.com'}
], function(error, docs) {
if(error) {
console.log('error: ' + error);
} else {
console.log('save ok');
console.log(docs);
}
});