MongoDB--Mongoose中的增删改查

//首先要在WebStorm中连接到数据库

var mongoose = require("mongoose");
mongoose.connect('mongodb://localhost:27017/mongoose_test',{useNewUrlParser: true});
mongoose.connection.once("open",function () {
    console.log("数据库连接成功")
});

//创建Schema 模式对象

var Schema = mongoose.Schema;
var stuSchema = new Schema ({
    name:String,
    age:Number,
    address:String,
    gender:{
        type:String,
        default:"female"
    },
})
var StuModel = mongoose.model("student",stuSchema)

一、增 创建一个或多个文档
Model.create(doc(s),[callback]) 类insert
callback 回调函数 ; argument 查看插入文档

StuModel.create([
        {
            name:"沙和尚",
            gender:"male",
            address:"流沙河"
        }
    ]
,function(err){
    if(!err){
        console.log(arguments)
    }
})

二、查
参数:[conditions] 查询条件
[projection] 投影
[options] 查询选项(limit skip sort)
[callback] 回调函数必须传

1.Model.find()
//返回的是一个数组

StuModel.find({name:"唐僧"},function (err,docs) {
    if(!err){
        console.log(docs);
    }
})

//"name -_id"只显示name,不显示_id,注意用空格分隔

StuModel.find({},"name -_id",function (err,docs) {
    if(!err){
        console.log(docs);
    }
})

//查询选项在function前插入

StuModel.find({},"name -_id",{skip:2,limit:1},function (err,docs) {
    if(!err){
        console.log(docs);
    }
})

2.Model.findOne() ,结果是一个文档对象
//.name只显示名字

StuModel.findOne({},"name -_id",function (err,doc) {
    if(!err){
        console.log(doc.name);
    }
})

3.Model.findById(),通过Id查询

StuModel.findById("5d4fe9f97a5fba256c45d2b6",function (err,docs) {
    if(!err){
        console.log(docs);
    }
})

//检查doc是否StuModel 的一个实例

StuModel.findById("5d4fe9f97a5fba256c45d2b6",function (err,doc) {
    if(!err){
        console.log(doc instanceof StuModel);
    }
})

三、修改 Model.update() ;Model.replaceOne()

StuModel.updateOne({name:"唐僧"},{$set:{age:20}},function (err) {
    if (!err) {
        console.log("修改成功");
    }
})

四、删除
Model.deleteOne();Model.deleteMany();Model.remove()

StuModel.deleteOne({name:"猪八戒"},function (err) {
    if(!err){
        console.log("删除成功")
    }
})

五、查询文档数量

StuModel.count({ },function (err, Acount) {
    if(!err){
        console.log(Acount)
    }
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值