快速上手mongoose操作mongoDb数据库

2019-01-29  本文已影响0人  litielongxx

node的后台开发

node基于v8内核的让js运行的特性,让后台开发成为了可能。而mongoose让我们可以用的node的语法操作支持的数据库mongodb,从而进行数据库的curd(增删改查)操作。再借助于nosql之类的可视化软件下可以实现可视化操作。注意的是mongoose非关系型数据库,数据存储再类似json的文档而不是常见的关系型的表里面。下边简单列一下常见的基于mongoose的curd操作。


image.png

创建mongoose连接(已开启mongodb服务)

//mongoose文档
const mongoose=require('mongoose');

mongoose.connect('mongodb://localhost/test');

let db=mongoose.connection;

db.on('err',()=>{
    console.log('连接失败')
})

db.once('open',()=>{
    console.log('建立连接')
})


// 设置Schema对象形式
let movieSchema=new mongoose.Schema({
    name:String,
    id:Number,
    des:{
        type:String,
        default:'xxxxx'
    }
})

// 创建model文本
let movieData=mongoose.model('movie',movieSchema);

create新增

create可以创建数据到文档中去,如果多个的可以卸载数组里。

movieData.create([
    {
        name:'a11111',
        id:1,
    },
    {
        name:'b1111',
        id:1,
        des:'多余的描述'
    },
    {
        name:'cccc',
        id:1,
    }
],(err)=>{
    if(!err) {
        console.log('success2')
    }
})

find查询

配合skip喝sort可以完成类似翻页效果的查询,而映射注意的是隐藏显示的可以分为{xx:0,xx:1}或者"-Id xx xx"的形式。

//movieData为model文本,需要显示的写在""
movieData.find({name:'aaaa'},"name des",(err,data)=>{
     if(!err) {
        console.log(data)
     }else{
        throw err;
     }
 }).skip(0).limit(3)
//映射需要部分也可以用0隐藏1显示的方式
 movieData.find({name:'aaaa'},"-_id name preImg",(err,data)=>{
    if(err) throw err;
    res.status(200);
    res.json(data);
  }).skip(1).limit(3)

update修改

update配合set(修改当前内容),inc(增加某部分之类配合{multi:true}效果类似于updateMany。

 movieData.update({name:'aaaa'},{$set:{des:'预备删除'}},{multi:true},(err)=>{
        if(err) {
            throw err
        }else{
            console.log('更新成功')
        }
    })

remove/updateOne删除

删除又remove注意的是({})无参数必须至少带上,删除单个可以delteOne。

//删除全部
 movieData.remove({name:'这里是符合条件名字'},(err)=>{
        if(!err){
            console.log('删除成功')
        }
    })
//删除单个
 movieData.deleteOne({name:'这里是符合条件名字'},(err)=>{
        if(!err){
            console.log('删除成功')
        }
    })
上一篇下一篇

猜你喜欢

热点阅读