mongodb 安装+操作命令 笔记

mongodb笔记

安装

Mac

brew install mongodb

Ubuntu

# 安装
sudo apt-get install mongodb

启动和关闭

启动

  1. 服务启动(sudo apt-get install mongodb安装可以)
sudo service mongodb start
  1. 直接启动(开发阶段使用这种方案启动)
sudo mongod

【注意事项】:

  1. 数据库文件找到引发的错误 Data directory /data/db not found., terminating
sudo mkdir /data
sudo mkdir /data/db
  1. 权限不够添加sudo
  2. 可能虚拟机的硬盘大小太小了,小到mongodb不允许你启动
sudo mongod --smallfiles
启动参数

--dbpath 数据库文件路径 默认/data/db
--port 设置监听端口 默认27017
--bind_ip 允许访问的IP地址 默认127.0.0.1 => 0.0.0.0表示允许所有机器远程访问,但是【切忌注意】:上线版本千万别这么设置
--auth 启动验证模式(后续会讲)
--config指定配置文件,把所有的相关配置都放到配置文件中

关闭

  1. 服务关闭
sudo service mongodb stop
  1. 直接关闭

# 1. ctrl + C
# 2. 登录到mongodb中退出
use admin
db.shutdownServer()
# 3. kill 进程(不推荐使用,特别是线上的数据库)

操作数据库

利用客户端进行登录

# 服务器启动,
sudo mongod
# 进行客户端登录
mongo

数据库操作

列出数据库
    show dbs/databases
创建数据库
use 数据库
// 插入数据即可创建
删除数据库
use 数据库
db.dropDatabase()

数据表操作(table => collection)

显示数据库中的集合列表
show collections
创建集合
// 1. 插入数据即创建
db.集合名称.insert({"a":"b"})
// 2. 创建集合不创建数据
db.createCollection('mycoll')
删除集合
db.集合名称.drop()
集合重命名
db.集合名称.renameCollection('新的集合名称')

数据库表中数据操作(collection中数据操作)

// mongodb内部的脚本是一套 类似于语法 javascript引擎
// 单条数据插入
db.mycoll.insert(
    {
        "a":5,
        "b":"abc",
        "c":['q','w','e'],
        "d":{
            "h":"u"
        }
    }
)
// 多条数据插入
data = [
    {"x":"b"},
    {"y":"d"}
]
db.集合名.insertMany(data)

【注意】,默认更新是整体更新,局部更新使用$set,默认更新只更新一条,如果要批量更新就添加第三个参数{multi:true}

// 整体更新
db.stu.update(
    // 更新条件
    {
        "hometown":"蒙古"
    },
    // 更新内容
    {
        "name":"江苏"
    }
)
// 局部更新
db.stu.update(
    // 更新条件
    {
        "hometown":"桃花岛"
    },
    // 更新内容
    {
        $set:{
            "name":"盐城"
        }
    }
)
// 批量更新
db.stu.update(
    // 更新条件
    {
        "age":18
    },
    // 更新内容
    {
        $set:{
            "name":"py"
        }
    },
    // 更新方式
    {
        multi:true
    }
)

// 通过删除条件进行删除
db.stu.remove(
    // 删除条件
    {
        age:18
    },
    // 删除方式
    {
        justOne:true
    }
)
// 清空数据
db.stu.remove({})
保存

按照_id字段进行判定,如果存在就进行更新,如果不存在就插入

db.stu.save(
    {
        "_id":6,
        "a":5,
        "b":7
    }
)

// 基本查询
db.集合名.find()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值