当前位置: 主页 > 日常积累 > node >

mongoose基础

简介:mongoose是一个将javascript对象与数据库产生关系的一个框架,object related model。操作对象,就是操作数据库;对象产生,同事也持久化,这个思路是Java三大框架SSH中Hibernate框架的思路。彻底改变了人们使用数据库的方式。

//引包,并不需要引用mongodb这个包   
var mongoose = require('mongoose');   
//链接数据库,haha是数据库名字  
mongoose.connect('mongodb://localhost/haha');
//如果有账户密码
mongoose.connect('mongodb://eggadmin:123456@localhost:27017/eggcms');


定义 Schema

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

varUserSchema = mongoose.Schema({
    name: String,
    age: Number,
    status: 'number'
})

实例化

将对象实力化给定义的类型

var kitty = new Cat({ name: 'Zildjian' });

创建模型

定义它属性什么类型

mongoose.model('模型名字',{‘name’:String,'age':Integer}) //定义猫的类型

mongoose.model(

参数 1:模型名称(首字母大写)

参数 2:Schema

参数 3:数据库集合名称)

 如果传入2个参数的话:这个模型会和模型名称相同的复数的数据库建立连接:如通过下面 方法创建模型,那么这个模型将会操作 users 这个集合。 如果传入 3 个参数的话:模型默认操作第三个参数定义的集合名称


调用执行方法,让他去做相应的事件


添加记录,基于实例化进行操作,使用sava() 在mongoose里添加一条数据

var u = newUser({      //实例化模型 传入增加的数据 
    name: 'lisi2222333',
    age: 20,
    status: true
})
u.save();


删除记录,使用remove() 在mongoose里删除一条数据,不会删除集合本身,删除conditions与集合相匹配的所有文档

Character.remove({ name: 'Eddard Stark' }, function (err) {});


修改记录,使用update() 在mongoose里添加一条数据

User.deleteOne({
    _id: '5b72ada84e284f0acc8d318a'
}, function (err) {
    if (err) {
        console.log(err);
        return;
     }
     console.log('成功');
});

查询记录

User.find({}, function (err, docs) {
       if (err) {
           console.log(err);
           return;
        }
        console.log(docs);
})


mongoose模块化使用

model

     --db.js  连接作为一个文件 设置账号密码,暴露出mongo

     --xxxSchema.js  做为一个文件  接受db.js,暴露出mongo.model(Xxx,xxxSchema,xxx)

app

     --直接调用xxxSchema.js文件,直接写业务逻辑

[日志信息]

该日志于 2018-11-01 16:08 由 陈文超 发表在 未知 网站下,你除了可以发表评论外,还可以转载 “mongoose基础” 日志到你的网站或博客,但是请保留源地址及作者信息,谢谢!!    (尊重他人劳动,你我共同努力)

Copyright © 2015-2018 陈文超博客 保留所有权利 琼ICP备15003229号| 托管于阿里云 · 博客稳定运行 | 网站地图 |

返回顶部