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://'开头的,不是则添加。

     

     
     
     
     
     
  • 相关阅读:
    [ZJOI2008]树的统计
    树链剖分总结
    动态主席树(带修改的区间第k大)(树套树)
    实现一个函数输入123456789,输出123,456,789”
    简单的requestAnimationFrame动画
    js的下拉刷新和上拉加载,基于iScroll v4.2.5
    深拷贝和浅拷贝
    js中this的指向
    创建对象的方法
    js继承的方式
  • 原文地址:https://www.cnblogs.com/yuyujuan/p/13963911.html
Copyright © 2011-2022 走看看