mongoose

node 操控mongodb方法

1. 安装

cnpm i mongoose --save

2. 使用

// 引入 mongoose
const mongoose = require('mongoose');

// 连接数据库
mongoose.connect('mongodb://localhost:27017/blog',
    {useNewUrlParser:true,useUnifiedTopology:true}, err=>{
        if(err){
            console.log('数据库连接失败');
            return
        }
        console.log('数据库连接成功');
    });

let studentScheme = new mongoose.Schema({
    name: {type: String, required: true},
    sex: {type: String, required: true},
    age: {type: Number, required: true},
    isMarried: {type: String}
});


// 往banjis这个集合中添加数据  集合名字要求:s结尾,名字小写字母
// Student构造函数
let Student = mongoose.model('banjis', studentScheme)

let xiaoming = new Student({
    name: 'xiaoming',
    sex: 'male',
    age: 18,
    isMarried: true
});

// 插入数据到数据库,返回promise对象调用then方法
xiaoming.save().then((data) => {
    console.log(data)
})

/*
返回结果
    {
_id: 5f9b67a90b6f1822d82edc8e,
name: 'xiaoming',
sex: 'male',
age: 18,
isMarried: true,
__v: 0
    }
*/

/*
    实例化对象.方法  动态方法
    构造函数.方法   静态方法
*/

// 查找数据
// Student.findOne({ name: 'xiaoming' }).then(data=>{
// 	console.log(data)
// })



// Student.find({ name: 'xiaoming' }).then((data) => {
//     // 返回查找到的所有数据
//     console.log(data)
// })

// 删除一个
// Student.deleteOne({ name: 'xiaoming' }).then((data) => {
//     // { n: 1, ok: 1, deletedCount: 1 }
//     console.log(data)
// })

// 删除所有
// Student.deleteMany({ name: 'xiaoming' }).then((data) => {
//     // { n: 3, ok: 1, deletedCount: 3 }
//     console.log(data)
// })

// 修改数据
// Student.updateOne({ name: '小明' }, { $set: { name: 'xiaoming' } }).then((data) => {
//     // { n: 1, nModified: 1, ok: 1 }  nModified被修改个数
//     console.log(data)
// })

Student.updateMany({ name: 'xiaoming' }, { $set: { name: '小明' } }).then((data) => {
    // { n: 1, nModified: 1, ok: 1 }
    console.log(data)
})

3. 补充

(1)过滤某个字段

const filter = {password: 0, __v: 0}; // 指定过滤的属性
UserModel.findOne({_id: userid}, filter).then(data=>{
  console.log(data);
  return res.send({code: 0, data})
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值