MongoDB的使用(增删改查)

1. 启动

#在有 /data/db 文件的根目录下
#D:\environment\mongodb\mongodb-4.0.21>mongod
mongod

2. 基本命令

  • show dbs
    • 查看显示所有的数据库
  • db
    • 查看当前操作的数据库
  • use 数据库名称
    • 切换到指定的数据库(如果没有就会新建)

3. 在Node中如何操作MongoDB数据

3.1 使用官方的mongodb包来操作
3.2 使用第三方mongoose来操作MongoDB数据库

第三方mongoose:基于mongodb包做的再一次封装

4.mongoose的使用

4.1 起步
//1.
var mongoose = require('mongoose');
//2.
var Schema = mongoose.Schema;

// 1. 连接指定的数据库(itcast)
// 指定的数据库不需要存在,当插入第一条数据后自动被创建
// `localhost` 表示连接本机
mongoose.connect('mongodb://localhost/itcast')

// 2. 设计集合结构(表结构)
// 字段名称就是表结构的属性名称
// 约束的目的是为了保证数据的完整性
var userSchema = new Schema({
    username:{
        type: String,
        required: true	//表示该属性必须有
    },
    password:{
        type: String,
        required: true	//表示该属性必须有
    },
    email:{
        type: String
    }
});

// 3. 将文档结构发布为模型
// mongoose.model 方法就是用来将一个架构发布为model
// 第一个参数:传入一个大写的名次单数字符串用来表示你的数据库名称
//			 mongoose 会自动将大写名次的字符串生成 小写复数的集合
//			 例如这里的 User 最终会变成 users 集合名称
// 第二个参数:架构 Schema
// 返回值:模型构造函数
var User = mongoose.model('User', userSchema)
4.2 增加数据
var admin = new User({
    username: 'admin',
    password: '123456',
    email: 'admin@163.com'
});

admin.save(function(err,ret){
    if(err){
        console.log("保存失败")
    }else{
        console.log("保存成功");
        console.log(ret)
    }
})
4.3 查询数据
4.3.1 查询所有数据
// `find()` 查询到的数据会存放到数组中
User.find(function(err,ret){
    if(err){
        console.log("查询失败")
    }else{
        console.log("查询成功");
        console.log(ret)
    }
})
4.3.2 按条件查询
User.find({
    username:"admin"
},function(err,ret){
    if(err){
        console.log("查询失败")
    }else{
        console.log("查询成功");
        console.log(ret)
    }
})
4.3.3 查询单个元素
// `findOne()` 查询单个元素,得到的是元素
User.findOne({
    username:"admin"
},function(err,ret){
    if(err){
        console.log("查询失败")
    }else{
        console.log("查询成功");
        console.log(ret)
    }
})
4.4 删除数据
4.4.1 按条件删除所有
User.remove({
    username:"admin"
},function(err){
    if(err){
        console.log("删除失败")
    }else{
        console.log("删除成功")
    }
})
4.4.2 根据条件删除一个
User.findOneAndRemove(conditions, [option], [callback])
4.4.3 根据id删除一个
User.findByIdAndRemove(id, [option], [callback])
4.5 更新数据
4.5.1 根据条件更新所有
User.update(conditions, doc, [option], [callback])
4.5.2 根据指定条件更新一个
User.findOneAndupdate([conditions], [update], [options], [callback])
4.5.3 根据id更新一个
User.findByIdAndUpdate('0000109uhdh2y01',{
    passeord: '123'
},function(err){
    if(err){
        console.log("更新失败")
    }else{
        console.log("更新成功")
    }
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值