mongoose操作mogodb数据库

// 安装mongooes - yarn add mongooes
// 引入mongoose
const mongoose = require("mongoose")
mongoose.set('useCreateIndexes',true) // 使用新的索引器
// 连接demo数据库 27017是mongodb默认端口
mongoose.connection("mongodb://localhost:27017/demo",{
	useNewUrlParse: true, //使用新的url解析器,用于解决一些安全问题
	useUnifiedyopology: true //使用一个统一的新的拓扑结构
})
//监听链接,成功之后操作数据库
mongoose.connection.on("open",(err)=>{
	if(err){
		console.log("数据库链接失败")
	}else{
		console.log("数据库链接成功")
		// 操作数据库
		
	}
})
// 引入模式对象 schema
let Schema = mongoose.Schema
// 创建约束对象
let StudentsRule = new Schema({
  stu_id: {
    type: String,
    required: true, // 必选项
    unique: true, // 唯一,不能重复
  },
  name:  {
    type: String,
    required: true, // 必选项
  },
  age: '',
  sex: '',
  date: {
    type: Date,
    default: Date.now() // 默认值为当前时间
  }
  enable_flag: {
    type: String,
    default: 'Y'
  }, //必须有的字段,控制数据是否有效,一般删除操作只是把这个字段设置为N/Y,而不会真正删除数据
})

// 生成students集合对应的模型对象
let stuModel = mongoose.model('students',StudentsRule)
// 增加数据
stuModel.create({
  stu_id: '001',
  name: '张三',
  age: 18,
  sex: '男'
},function(err,data){
  if(err){
    console.log('数据上传失败:' + err);
  }else{
    console.log(data);
  }
})
// 查询数据 
//find(查询条件[,投影],回调函数) 方法返回的data是一个数组 
//findOne(查询条件[,投影],回调函数) 返回的是一个对象,否则返回null
stuModel.find({},(err,data)=>{
  if(err){
    console.log(err);
  }else{
    console.log(data);
  }
})

//更改数据
// updata 即将弃用,不推荐
// updataOne(查询条件,更新对象[,配置对象],回调函数) 更改一条
// updataMany(查询条件,更新对象[,配置对象],回调函数) 更改多条
stuModel.updete({name:'张三'},(err,data)=>{
	if(err){
    	console.log(err);
	}else{
	  console.log(data);
	}
})

//删除数据
// deleteOne(查询条件,回调函数) 删除一个
// deleteMany(查询条件,回调函数) 删除多个
// 注意,没有delete方法
stuModel.deleteOne({},(err,data)=>{
	if(err){
    	console.log(err);
	}else{
	  console.log(data);
	}	
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值