MongoDB安装与使用

Mongodb安装

Linux下安装(Centos)

1、下载源码包,下载地址:https://www.mongodb.com/try/download/community
2、传输到linux并解压

tar -zxvf  源码包

解压后得到一个mongodb文件夹,内部基本结构:
mongodb目录结构信息
(可选)将bin文件夹加入到环境变量中,方便以后操作。环境变量添加参考文章。
(可选)修改Mongodb配置信息,可在任意位置建立xxx.conf文件,在其内部进行配置。

# 创建配置文件
vim mongodb.conf
# 配置文件内部
# 常用配置命令
dbpath = /usr/local/mongodb/data/db #数据文件存放目录,一般都在mongodb根目录下创建个data文件夹
logpath = /usr/local/mongodb/logs/mongodb.log #日志文件存放目录,一般都在mongodb根目录下创建log文件夹并在其中创建日志文件。
port = 27017  #端口,监听端口  
bind_ip=0.0.0.0 # 远程登录,指定为0.0.0.0代表所有ip都可以登录

3、启动mongodb服务:

# 需要cd到bin目录下
# 无配置文件启动
mongod
# 含配置文件启动
mongod -f mongodb.conf
# 关闭
mongod --shutdown
# 含配置文件关闭
mongod -f mongodb.conf --shutdown

(可选)安装mongodb服务:
    在/lib/systemd/system文件夹下新建一个xx.service文件表示你的mongodb服务,编辑文件内部内容:

 [Unit]  
    Description=mongodb  
    After=network.target remote-fs.target nss-lookup.target  
  
    [Service]  
    Type=forking  
    RuntimeDirectory=mongodb
    RuntimeDirectoryMode=0751
    PIDFile=/var/run/mongodb/mongod.pid
    ExecStart=/usr/mongodb/bin/mongod -f /usr/mongodb/mongodb.conf  
    ExecStop=/usr/mongodb/bin/mongod --shutdown -f /usr/mongodb/mongodb.conf  
    PrivateTmp=false  
  
    [Install]  
    WantedBy=multi-user.target

    其中ExecStart代表启动命令,ExecStop代表停止命令,其中所有涉及到文件夹操作都要用绝对路径表示。
    服务操作:

# 开启
systemctl start mongodb.service
# 关闭
systemctl stop mongodb.service
# 开机启动
systemctl enable mongodb.service

Mongodb基本命令

数据库相关

1、切换到对应数据库,没有则创建并切换。

use 数据库名称

2、查看数据库

show dbs

3、删除数据库

# 删除当前数据库
db.dropDatabase()

集合相关

定义操作

    mongodb里的集合就相当于关系数据中的表。
1、创建集合

db.createCollection(集合名称, 集合参数)

集合参数可以是:

字段类型描述
cappedboolean如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数
autoIndexIdboolean3.2 之后不再支持该参数。如为 true,自动在 _id 字段创建索引。默认为 false
sizeint为固定集合指定一个最大值,即字节数
maxint指定固定集合中包含文档的最大数量

2、显示所有集合

show collections

3、删除集合

db.集合名称.drop()

数据操作

1、向集合中插入数据(文档)
    向集合中插入的数据结构称之为文档。一个文档的结构与json数据类似。

# 插入一条数据,如果插入的文档的主键存在,那么会报错
db.集合名称.insert(document)
# 示例
db.collection1.insert({"id":1])

# 新版本操作
# 插入1个
db.集合名词.insertOne(document, {writeConcern:int, ordered:boolean})
# 插入多个
db.集合名词.insertMany([document1, document2....documentn],{writeConcern:int, ordered:boolean})

参数说明:
    document:要写入的文档。
     writeConcern:写入策略,默认为 1,即要求确认写操作,0 是不要求。
     ordered:指定是否按顺序写入,默认 true,按顺序写入。
2、查询文档

db.集合名称.find(query, projection)
# 格式化打印,按照json格式打印
db.集合名称.find(query, projection).pretty()

参数说明:
     query :可选,使用查询操作符指定查询条件
     projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

操作格式范例对应sql语句
等于{key:value}db.col.find({“id”:“123”})where id = ‘123’
小于{key:{$lt:value}}db.col.find({“id”:{$lt:50}})where id < 50
小于或等于{key:{$lte:value}}db.col.find({“id”:{$lte:50}})where id <= 50
大于{key:{$gt:value}}db.col.find({“id”:{$gt:50}})where id > 50
大于或等于{key>:{$gte:value}}db.col.find({“id”:{$gte:50}})where id >= 50
不等于{key:{$ne:value}}db.col.find({“id”:{$ne:50}})where id != 50
and{key1:value1, key2:value2}db.col.find({“id”:50, “id1”:12})where id = ‘50’ and id1 = 12
or{$or:[{key1:value1}, {key2:value2}]}db.col.find({$or:[{“id”:50},{“id1”:12}]})where id = ‘50’ or id1 = 12

3、更新文档

db.collection.update(
   要传入的文档数据,
   更新条件(查看查询条件),
   {
     参数
   }
)

参数说明:
    query : update的查询条件,类似sql update查询内where后面的。
    update : update的对象和一些更新的操作符(如 , , ,inc…)等,也可以理解为sql update查询内set后面的
    upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
    multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
     writeConcern :可选,抛出异常的级别。
4、删除文档

db.collection.remove(
   删除条件(查看查询条件),
   {
	参数
	}
)

参数说明:
    justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
     writeConcern :(可选)抛出异常的级别。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘻嘻哈哈笑呵呵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值