mongoose的使用

mongoose的使用

mongoose是用来操作mongodb数据库的,虽然很多人都用原生node.js中的mongodb第三方包。但是远没有mongoose好用。

导入和连接

和所有数据库都一样,要先导入很连接。

const mongoose = require("D:/Program Files/node/node_modules/mongoose")

//链接数据库
mongoose.connect("mongodb://localhost/test2",{userMongoClient:true})

mongoose.Promise = global.Promise;

test2代表数据库的名字,因为mongodb数据库非常的灵活,可以不用先创建数据库,而mongoose也是一样的,不用先创建数据库。

连接集合然后操作

var cat = mongoose.model("Cat",{name : String})

//实例化一个对象
var kittey = new cat({name:"xiaoming"})

//持久化保存这个实例
kittey.save(function (err) {
    if (err){
        throw err
    }
    else {
        console.log("操作成功");
    }
})

先连接一个集合,然后实例化一个对象,然后再对这个对象进行操作,上面哪个操作是保存一个对象。

设计集合结构

const Schema = mongoose.Schema
var user_schema = Schema({
    username:{
        type:String,
        required:true  //这个参数是一定要有的
    },
    age: {
        type: Number,   //数据类型为数字
        default: 0  //默认为零
    },
    password:{
        type:String,
        required:true  //这个参数是一定要有的
    },
})

var user = mongoose.model("User",user_schema)

作为一个严谨的程序员,对数据一定要有约束,不能出现脏的数据。所以每个字段的数据都要有比较严格的约束

var user = mongoose.model(“User”,user_schema)
这段代码是要把我们设计的集合发布出去

插入新的数据

var admin = new user({
    username:"小李",
    password:"123456",
    age:123
})

admin.save(function (err) {
    if (err){
        console.log("操作失败")
    }
    else {
        console.log("操作成功")
    }
});

因为在上面已经对数据进行了约束,所以一定要按照约束来插入数据
接着就是对数据进行保存。

查询数据

下面这个查询方法是查询所有的数据

user.find(function (err,data) {
    if (err){
        console.log("查询失败")
    }
    else {
        console.log(data)
    }
})

下面这个方法是按照条件进行查询

user.find({username:"小李"},function (err,data) {
    if (err){
        console.log("查询失败")
    }
    else {
        console.log(data);
    }
})

满足所有mongodb条件查询,可以参考原语句来变通

查询满足条件的第一条数据

user.findOne(function (err,data) {
    if (err){
        console.log("查询失败")
    }
    else {
        console.log(data)
    }
})

删除数据

user.remove({username:"小李"},function (err,res) {
    if (err){
        console.log("删除失败")
    }
    else {
        //如果删除成功就返回受影响的数据行数
        console.log(res)
    }
})

在mongoose里面有几种删除方法,但是我觉得这一种是最好用的,按照条件删除。

修改数据

user.findByIdAndUpdate("5e563c2deb03c43310cae238",{
    //要修改的数据
    age:333
},function (err,res) {
    if (err){
        console.log("更新失败")
    }
    else {
        console.log("更新成功");
    }
})

这个方法是按照id来查询,还可以按照其他的条件查询,只要去官网找一下对应的api就可以啦。

还有其他增删改查的方法,都可以去官网找对应的方法就可以了。

mongoose官网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值