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)
    }
})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章