Node.js中操作Mongodb数据库-----使用第三方mongoose

var mongoose = require('mongoose');

//获取内置架构
var Schema = mongoose.Schema

//1、连接数据库
//指定连接的数据库不需要存在,若没有则直接创建  
mongoose.connect('mongodb://localhost/test');

//2、设计集合结构(表结构)
//字段名称就是表结构中的属性名称
//约束的目的是为了保证数据的完整性,不要有脏数据
// var blogSchema = new Schema({
//     title:  String,
//     author: String,
//     body:   String,
//     comments: [{ body: String, date: Date }],
//     date: { type: Date, default: Date.now },
//     hidden: Boolean,
//     meta: {
//       votes: Number,
//       favs:  Number
//     }
//   });
var userSchema = new Schema({
    username:{
        type:String,
        required:true //写这个就代表username必须有
    },
    password:{
        type:String,
        required:true 
    },
    email:{
        type:String
    }
})

//3、将文档结构发布为模型
// mongoose.model方法就是用来将一个架构发布为model
// 第一个参数: 传入一个大写名词单数字符串用来表示你的集合名称
//             mongoose 会自动将大写名词的字符串生成小写复数的集合名称   例如这里的User会变成users
// 第二个参数: 架构Schema
// 返回值:模型构造函数
var User = mongoose.model('User',userSchema)

//4、当我们有了模型构造函数之后,就可以使用这个构造函数对users集合中的数据随意操作
var admin = new User({
    username:'admin',
    password:'12345',
    email:'583173625@qq.com'
})

//存储
admin.save(function(err,ret){
    if(err){
        console.log('保存失败')
    }else{
        console.log('保存成功')
        console.log(ret)
    }
})

//查询数据
    //查询所有
User.find(function(err,ret){
    if(err){
        console.log('查询失败')
    } else {
        console.log(ret)
    }
})
    //条件查询
User.find({
    username:'zs' //查询username为zs的数据
},function(err,ret){
    if(err){
        console.log('查询失败')
    } else {
        console.log(ret)
    }
})


//删除数据
User.remove({
    username:'zs'
},function(err,ret){
    if(err){
        console.log('删除失败')
    }else{
        console.log('删除成功')
    }
})

//更新数据
User.findByIdAndUpdate('5ff55ea605950d425c6d14bf',{
    password:'123'
},function(err,ret){
    if(err){
        console.log('更新失败')
    } else {
        console.log('更新成功')
    }
})

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值