美文网首页
mongoose的简单使用

mongoose的简单使用

作者: 十年之后_b94a | 来源:发表于2018-01-23 10:40 被阅读0次

npm install mongoose 下载mongoose模块
使用之前先打开mongodb数据库
mongodb --dbpath 地址
详情请看mongodb的操作
mongodb操作
详情可以看
node.js下mongoose简单操作实例

1)mongoose在koa中使用

在项目根目录中创建config文件夹并创建mongo_config.js
此文件保存mongodb的地址及配置

//mongo_config.js
module.exports = {
    dbs : "mongodb://127.0.0.1:27017/study"
}

1-2 连接数据库

在koa项目的运行文件 app.js中
增加以下代码

const mongoose = require('mongoose');
const dbConfig = require('./config/mongo_config.js');
mongoose.connect(dbConfig.dbs,{
    useNewUrlParser : true
})

2)Schema的创建

在mongoose中那么Schema就是它的灵魂,所有对数据库的操作都是通过Schema来进行操作

在项目根目录中创建schema文件夹
例 :我们创建sdudent的Schema模型

//schema=>student.js
const mongoose = require('mongoose');
let Student = new mongoose.Schema({
    name : String, //姓名
    age : Number, //年龄
    class_code : Number  //班级编号
})
//...至于属性看项目需要什么
module.exports = mongoose.model("Student",Student);

通过上述的Schema例子我们就可以看出每一个Schema都可以看做是mysql中的每一张表,然而Schema的属性就类似每一张表里面的字段

3)运用Schema

对数据库的操作我们可以单独创建文件use_db.js

3-1 查

const student_sc = require('../schema/student.js') //导入student - schema文件
module.exports = {
  getStudent(){ //查找所有的学生
    return new Promise(async (resolve,reject)=>{
      try{
        let result = await student_sc.find({})
        resolve({
          code : 1,
          meesage : '查找成功',
          result
        })
        
      }catch(e){
        reject({
          code : -1,
          messge : e
        })
      }
      
    })
  }
}

查找指定学生

const student_sc = require('../schema/student.js') //导入student - schema文件
module.exports = {
  getOneStudent(name){ //查找指定学生,传入查找的依据参数
    return new Promise(async (resolve,reject)=>{
      try{
        let result = await student_sc.findOne({name : name})
        resolve({
          code : 1,
          meesage : '查找成功',
          result
        })
        
      }catch(e){
        reject({
          code : -1,
          messge : e
        })
      }
      
    })
  }
}

查找所有学生并且分页&按照年龄大小排序

const student_sc = require('../schema/student.js') //导入student - schema文件
module.exports = {
  getAllStudent(pageNum,pageSize){ //查找所有的学生并且分页
    return new Promise(async (resolve,reject)=>{
      try{
        let result = await student_sc.find({}).skip(pageNum*pageSize).limit(pageSize).sort({'age':-1})
        resolve({
          code : 1,
          meesage : '查找成功',
          result
        })
        
      }catch(e){
        reject({
          code : -1,
          messge : e
        })
      }
      
    })
  }
}

skip条件是分页刷选多少条数据
limit 是一页有多少容量
sort排序 -1 大到小 1:小到大
...

3-2 增

const student_sc = require('../schema/student.js') //导入student - schema文件
module.exports = {
  addStudent({name,age,classCode}){
    return new Promise(async (resolve,reject)=>{
      let newStudent = new student_sc({
        name,
        age,
        class_code:classCode
      });
      try{
        await newStudent.save();
        resolve({
          code : 1,
          meesage : '增加成功',
          result
        })
        
      }catch(e){
        reject({
          code : -1,
          messge : e
        })
      }
      
    })
  }
}

3-3 删

const student_sc = require('../schema/student.js') //导入student - schema文件
module.exports = {
  delStudent({name}){//删除的值
    return new Promise(async (resolve,reject)=>{
      try{
      let result =   await student_sc.where({name : name}).remove()
        resolve({
          code : 1,
          meesage : '删除成功',
          result
        })
        
      }catch(e){
        reject({
          code : -1,
          messge : e
        })
      }
      
    })
  }
}

3-4 改

const student_sc = require('../schema/student.js') //导入student - schema文件
module.exports = {
  updateStudent({name,newName}){//改的查找条件
    return new Promise(async (resolve,reject)=>{
      try{
      let result =  await student_sc.where({name : name}).update({name :newName })
        resolve({
          code : 1,
          meesage : '修改成功',
          result
        })
        
      }catch(e){
        reject({
          code : -1,
          messge : e
        })
      }
      
    })
  }
}

相关文章

  • mongoose简单使用

    1、简介 Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具要使用它必须安装好...

  • mongoose的简单使用

    npm install mongoose 下载mongoose模块使用之前先打开mongodb数据库mongod...

  • Mongoose的简单使用

    一、准备工作 1. 启动mongo数据库 2. 新建数据库 cmd + n新建终端窗口 二、利用mongoose进...

  • mongoose简要教程

    主要是自己使用mongoose的一些有疑虑的地方简单介绍 初次使用mongoose的过程中有很多的疑惑,Mongo...

  • mongoose 使用

    mongoose 使用 Mongoose 基础使用 Connect 链接数据库 定义文档模型, Schema 和 ...

  • nodejs初体验,使用node写一个简易邮箱验证注册登录

    开门进山 前置基础 根据官方手册,会使用插件nodemail,mongoose。(本文使用了mongoose,用来...

  • mongodb

    指令 指令 使用mongoose

  • mongoose 操作MongoDB

    操作mongoDB 操作mongoDB 借助一个插件 mongoose mongoose 安装 使用mongoos...

  • mongoose: Schema与Model

    前端js操作mongodb用到了mongoose使用前先安装 $ npm install mongoose 配置连...

  • 模块-mongoose

    mongoose:nodejs上简洁的mongodb对象模型。为什么要做mongoose,当我们使用mongodb...

网友评论

      本文标题:mongoose的简单使用

      本文链接:https://www.haomeiwen.com/subject/hnulaxtx.html