Mongoose梳理

1.下载安装Mongoose
npm i mongoose –save
2.在项目中引入mongoose
var mongoose = require(“mongoose”);
3.连接MongoDB数据库
mongoose.connect(‘mongodb://数据库的ip地址:端口号/数据库名’);
- 默认端口号(27017)
4.断开数据库连接
- MongoDB数据库,一般情况下,只需要连接一次,连接一次以后,除非项目停止服务器关闭,否则连接一般不会断开
mongoose.disconnect()
- 监听MongoDB数据库的连接状态
- 在mongoose对象中,有一个属性叫做connection,该对象表示的就是数据库连接
通过监视该对象的状态,可以来监听数据库的连接与断开
数据库连接成功的事件
mongoose.connection.once(“open”,function(){});
数据库断开的事件
mongoose.connection.once(“close”,function(){});

var mongoose = require(“mongoose”);
mongoose.connect(“mongodb://127.0.0.1/mongoose_test”);
//将mongoose.Schema 赋值给一个变量
var Schema = mongoose.Schema;
//创建Schema(模式)对象
var stuSchema = new Schema({
name:String,
age:Number,
gender:{
type:String,
default:”female”
},
address:String
});
//通过Schema来创建Model
//Model代表的是数据库中的集合,通过Model才能对数据库进行操作
//mongoose.model(modelName, schema):
//modelName 就是要映射的集合名 mongoose会自动将集合名变成复数
var StuModel = mongoose.model(“students” , stuSchema);
//向数据库中插入一个文档
//StuModel.create(doc, function(err){});
StuModel.create({
name:”123”,
age:16,
address:”123”
},function (err) {
if(!err){
console.log(“操作成功”);
}
});

- 有了Model,我们就可以来对数据库进行增删改查的操作了
Model.create(doc(s), [callback])
- 用来创建一个或多个文档并添加到数据库中
- 参数:doc(s) 可以是一个文档对象,也可以是一个文档对象的数组
       callback 当操作完成以后调用的回调函数
查询的:
     Model.find(conditions, [projection], [options], [callback])
        - 查询所有符合条件的文档 总会返回一个数组
     Model.findById(id, [projection], [options], [callback])
        - 根据文档的id属性查询文档
     Model.findOne([conditions], [projection], [options], [callback])
        - 查询符合条件的第一个文档 总和返回一个具体的文档对象
        conditions 查询的条件
        projection 投影 需要获取到的字段
            - 两种方式
                {name:1,_id:0}
                "name -_id"
        options  查询选项(skip limit{skip:3 , limit:1}
        callback 回调函数,查询结果会通过回调函数返回
                        回调函数必须传,如果不传回调函数,就不会查询
修改
 Model.update(conditions, doc, [options], [callback])
 Model.updateMany(conditions, doc, [options], [callback])
 Model.updateOne(conditions, doc, [options], [callback])
    - 用来修改一个或多个文档
    - 参数:
        conditions 查询条件
        doc 修改后的对象
        options 配置参数
        callback 回调函数
 Model.replaceOne(conditions, doc, [options], [callback])
    删除:
 Model.remove(conditions, [callback])
 Model.deleteOne(conditions, [callback])
 Model.deleteMany(conditions, [callback])
Document 和 集合中的文档一一对应 , Document是Model的实例
        通过Model查询到结果都是Document
document的方法
        Model#save([options], [fn])
 update(update,[options],[callback])
                - 修改对象
            remove([callback])
                - 删除对象
get(name)
                - 获取文档中的指定属性值
            set(name , value)
                - 设置文档的指定的属性值
            id
                - 获取文档的_id属性值
             toObject()
                -Document对象转换为一个普通的JS对象
                    转换为普通的js对象以后,注意所有的Document对象的方法或属性都不能使用了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值