zoukankan      html  css  js  c++  java
  • mongoose基础操作

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

    操作步骤

    1、通过npm命令安装:npm install  mongoose --save

    2、引入mongoose并连接数据库(需要在连接地址后制定数据库):

     3、定义Schema

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

     4、创建数据模型

    model 是由 schema 生成的模型,可以对数据库的操作。mongoose.model 里面可以传入两个参数也可以传入三个参数:
    • mongoose.model(参数 1:模型名称(首字母大写),参数 2:Schema)
    • mongoose.model(参数 1:模型名称(首字母大写),参数 2:Schema,参数 3:数据库集合名称)
    如果传入 2 个参数的话:这个模型会和模型名称相同的复数的数据库建立连接:如通过下面方法创建模型,那么这个模型将会操作 users 这个集合。
    如果传入 3 个参数的话:模型默认操作第三个参数定义的集合名称:如通过下面方法创建模型,那么这个模型将会操作students这个集合。

     增删改查

    新增数据

    在新增数据时,数据结构需要同Schema中的定义保持一致:多余的属性不会被添加;缺失的属性添加成功后,属性缺失;有默认值的熟悉,在添加时可以省略。

      

     

     更新数据

      

     查找数据

     删除数据

     mongoose预定义模式修饰符

    mongoose 提供的预定义模式修饰符,可以对我们增加的数据进行一些格式化:
    • lowercase:全部转小写
    • uppercase :全部转大写
    • trim:去除收尾空格
    const mongoose = require('mongoose');
    mongoose.connect('mongodb://127.0.0.1:27017/goods',{ useNewUrlParser: true },function(err){
        if(err){
            console.log(err);
            return;
        }
        console.log('数据库连接成功')
    });
    var UserSchema = mongoose.Schema({
        name:{
            type:String,
            trim:true
        },
        age:Number,
        hobbies:{
            type:String,
            lowercase:true,
        },
        nationality:{
            type:String,
            uppercase:true,
        },
        status:{
            type:String,
            default:1   
        }
    })
    var User = mongoose.model('User',UserSchema);
    var u = new User({
        name:' Tom ',
        age:20,
        hobbies:'FootBall',
        nationality:'Spain'
    })
    u.save(function(err){
        if(err){
            console.log(err);
            return;
        }else{
            User.find({},function(err,data){
                if(err){
                    console.log(err);
                    return;
                }else{
                    console.log(data);
                }
            })
        }
    })

    Getters 与 Setters 自定义修饰符

    除了 mongoose 内置的修饰符以外,我们还可以通过 set(建议使用) 修饰符在增加数据的时候对数据进行格式化。也可以通过 get(不建议使用)在实例获取数据的时候对数据进行格式化。
    例如,用户数据中存储当前用户的博客地址,在存储地址前,先判断地址是否是'http://'或者'https://'开头的,不是则添加。

     

     
     
     
     
     
  • 相关阅读:
    优先队列
    Problem W UVA 662 二十三 Fast Food
    UVA 607 二十二 Scheduling Lectures
    UVA 590 二十一 Always on the run
    UVA 442 二十 Matrix Chain Multiplication
    UVA 437 十九 The Tower of Babylon
    UVA 10254 十八 The Priest Mathematician
    UVA 10453 十七 Make Palindrome
    UVA 10163 十六 Storage Keepers
    UVA 1252 十五 Twenty Questions
  • 原文地址:https://www.cnblogs.com/yuyujuan/p/13963911.html
Copyright © 2011-2022 走看看