一、Mongoose是node.js异步环境下对mongodb进行便捷操作的对象模型工具。Mongoose是NodeJS驱动,不能作为其他语言的驱动。

Mongoose的特点
1.通过关系型数据库的思想来设计非关系型数据库
2.基于mongodb驱动,简化操作

是node.js操作mongodb的一个模块

二、mongoose的安装以及使用

文档

1.安装

  1. npm install mongoose -S

2.连接数据库

  1. mongoose.connect( 'mongodb://127.0.0.1:27017/eggcms', {useNewUrlParser: true});

3.定义schema

数据库中的Schema,为数据库对象的集合。schema是mongoose里会用到的一种数据模式。可以理解为表结构的定义:每个schema会映射到mongodb中的一个collection,它不具备操作数据库的能力

操作user表(集合),定义一个schema

  1. var UserSchema =new mongoose.Schema({
  2. name:String,
  3. age:Number
  4. },{
  5. versionKey: false // You should be aware of the outcome after set to false
  6. }
  7. )

4.创建数据模型,操作数据库

定义好了schema,接下来就是生成了Model。model是schema生成的模型,可以对数据库操作。

  1. /* 4.定义数据库模型操作数据库
  2. //UserSchema就和数据库中的user表形成映射关系
  3. var User = mongoose.model('User',UserSchema,"user")

5.查询数据库

  1. User.find({},(err,doc)=>{
  2. console.log(doc)
  3. })
  1. //find()不仅可以用回调读取,同时还是promise
  2. User.find({}).then(data=>{
  3. console.log(data)
  4. })

三、定义一个数组类的Schema

  1. var UserSchema = new mongoose.Schema({
  2. name: String,
  3. collects:[
  4. {_id:String,name:String,rating:String,like:Boolean}
  5. ]
  6. }, {
  7. versionKey: false // You should be aware of the outcome after set to false
  8. });