20.mongoose的安装使用

1.安装

cnpm install mongoose --save

2.引入mongoose,并且连接数据库

// 1.引入mongoose
const mongoose = require("mongoose");
// 2.建立连接
mongoose.connect("mongodb://localhost/test", {useNewUrlParser: true}, function(err){
  if(err){
    console.log(err);
    return;
  }
  console.log("数据库连接成功")
})
// mongoose.connect("mongodb://username@password@localhost:27017/test"
// 3.定义schema
// 在model实例化时如果出现,UserSchema中没有的字段,则多余字段不会进入数据库,还是会插入成功
var UserSchema = mongoose.Schema({
  name:String,
  age:Number,
  status:{
    type: Number,  // 类型
    default: 1  // 指定默认值
  }
})
// 4.定义数据库模型,操做数据库
// model里面第一个参数要注意:1.首字母大写;2.要和数据库集合名对应
// 这个模型会和模型名称想同的符数的数据库集合建立连接,如果通过下面方法创建模型,那么这个模型将会操做users这个集合
var User = mongoose.model('User',  UserSchema)
// var User = mongoose.model('User',  UserSchema, 'user')  // 会操作user集合

3.查询数据

User.find({}, function(err, doc){
  if(err){
    console.log(err);
    return;
  }
  console.log(doc[0]._doc);
})

4.增加数据

var user = new User({
  name: '张飞',
  age: 56,
  status: 1
});

user.save(function(err, result){
  if(err){
    console.log(err);
    return;
  }
  console.log(result);  // 返回数据对象
});

5.修改数据

User.updateOne({name: "张飞"}, {age: "48"}, fuction(err, result){
	  if(err){
	    console.log(err);
	    return;
	  }
	  console.log(result);  // {acknowledged: true, matchedCount: 1, modifiedCount: 1, upsertedCount: 0, upsertedId: null}
})

6.删除数据

User.deleteOne({_id: "631957f2507cda960b51391e"}, function(err, result){
	  if(err){
	    console.log(err);
	    return;
	  }
	  console.log(result);  // {acknowledged: true, deletedCount: 1}
})

7.封装模块

  • model/db.js
// 连接数据库

// 1.引入mongoose
const mongoose = require("mongoose");
// 2.建立连接
mongoose.connect("mongodb://localhost/test", {useNewUrlParser: true}, function(err){
  if(err){
    console.log(err);
    return;
  }
  console.log("数据库连接成功")
})
module.exports = mongoose;
  • model/user.js
// 配置数据模型
const mongoose = require('./db');

const UserSchema = mongoose.Schema({
  name:String,
  age:Number,
  status:{
    type: Number,  // 类型
    default: 1  // 指定默认值
  }
})

const UserModel = mongoose.model('User',  UserSchema, 'user');

module.exports = UserModel;
  • app.js
const UserModel = require('./model/user');

UserModel.find({}, function(err, doc){
  if(err){
    console.log(err);
    return;
  }
  console.log(doc[0]._doc);
})

User.findOne({}, function(err, doc){
  if(err){
    console.log(err);
    return;
  }
  console.log(doc.status);
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值