一、Mongoose是node.js异步环境下对mongodb进行便捷操作的对象模型工具。Mongoose是NodeJS驱动,不能作为其他语言的驱动。
Mongoose的特点
1.通过关系型数据库的思想来设计非关系型数据库
2.基于mongodb驱动,简化操作
是node.js操作mongodb的一个模块
二、mongoose的安装以及使用
1.安装
npm install mongoose -S
2.连接数据库
mongoose.connect( 'mongodb://127.0.0.1:27017/eggcms', {useNewUrlParser: true});
3.定义schema
数据库中的Schema,为数据库对象的集合。schema是mongoose里会用到的一种数据模式。可以理解为表结构的定义:每个schema会映射到mongodb中的一个collection,它不具备操作数据库的能力
操作user表(集合),定义一个schema
var UserSchema =new mongoose.Schema({
name:String,
age:Number
},{
versionKey: false // You should be aware of the outcome after set to false
}
)
4.创建数据模型,操作数据库
定义好了schema,接下来就是生成了Model。model是schema生成的模型,可以对数据库操作。
/* 4.定义数据库模型操作数据库
//UserSchema就和数据库中的user表形成映射关系
var User = mongoose.model('User',UserSchema,"user")
5.查询数据库
User.find({},(err,doc)=>{
console.log(doc)
})
//find()不仅可以用回调读取,同时还是promise
User.find({}).then(data=>{
console.log(data)
})
三、定义一个数组类的Schema
var UserSchema = new mongoose.Schema({
name: String,
collects:[
{_id:String,name:String,rating:String,like:Boolean}
]
}, {
versionKey: false // You should be aware of the outcome after set to false
});