MongoDB的简单使用

linux(centos8)打开的基本操作

# Start MongoDB.
sudo systemctl daemon-reload
sudo systemctl start mongod
#  Verify that MongoDB has started successfully
sudo systemctl status mongod
sudo systemctl enable mongod
# 或者使用
mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork

#  Stop MongoDB
sudo systemctl stop mongod
# 或者使用
mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --shutdown

# Restart MongoDB.
sudo systemctl restart mongod

# Begin using MongoDB.
# Start a mongosh session on the same host machine as the mongod. You can run mongosh without any command-line options to connect to a mongod that is running on your localhost with default port 27017.
mongosh
# 或者使用
mongo

一些操作:


# 数据库database,查看数据库有哪些
show dbs
# 默认一般会有四个数据库:admin, 从权限的角度来看,这是"root"数据库,要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限;config,当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息;local,这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合;test,默认进入的数据库。

# use命令连接指定的数据库
use test  # 连接test数据库,如果没有test这个库,会创建
# 使用db命令查看当前连接的数据库
db
# 建立collections,可以使用insertOne()、insertMany()和createIndex()函数,存进数据即建立
use myDB 
db.myCollection.insertOne({jupy:1994})  # 建立myCollection集合,里面插入一条数据document
db.myCollection-1.insertOne({tom:1995}) # 建立myCollection1集合,里面插入一条数据document 
db.myCollection2.createIndex({tobey:1996})  # 建立myCollection2集合,里面插入一条数据document
# # 建立students集合,里面插入多条document
db.students.insertMany( [   
   { sID: 22001, name: "Alex", year: 1, score: 4.0 },
   { sID: 21001, name: "bernie", year: 2, score: 3.7 },
   { sID: 20010, name: "Chris", year: 3, score: 2.5 },
   { sID: 22021, name: "Drew", year: 1, score: 3.2 },
   { sID: 17301, name: "harley", year: 6, score: 3.1 },
   { sID: 21022, name: "Farmer", year: 1, score: 2.2 },
   { sID: 20020, name: "george", year: 3, score: 2.8 },
   { sID: 18020, name: "Harley", year: 5, score: 2.8 },
] )
# 也可以使用createCollection()函数,先创建集合,类似数据库中的表
db.createCollection("runoob")
# 查看集合列表
show collections 
show tables
db.getCollectionNames()  # 查看集合名字
db.getCollectionInfos()  # 主要用来查看各个集合的UUID
# 查看集合内容
db.students.find()  # 查看改集合的所有内容 等价于 SELECT * FROM students
# 指定相等条件,使用{ <field1>: <value1>, ... }
db.students.find({name:"harley"}) # 搜索名字为harley的document,等价于SELECT * FROM students WHERE name="harley"
# 使用查询运算符指定条件,使用{ <field1>: { <operator1>: <value1> }, ... }
db.students.find( { year:{$in:[1, 3]}}) # 等价于SELECT * FROM inventory WHERE year in (1,3)
# 修改数据update
# 修改单个document,使用db.students.updateOne()函数
db.students.updateOne({name:"Alex"},{$set:{age:25}}) # 匹配Alex的document,增加一个字段值age
db.students.updateOne({name:"Alex"},{$set:{year:7}}) # 匹配Alex的document,修改year字段值为7
# 修改多个document使用db.students.updateMany()函数
db.students.updateMany({year:3},{$set:{score:4.4}}) # 将所有3年级学生的分数都修改为4.4

# 删除集合的一些内容
db.students.deleteOne({year:3}) # 删除条件为year=3的第一个
db.students.deleteMany({year:1})  # 删除条件为year=1的所有
db.students.remove({}) # 删除所有document,但是students集合还在
db.students.drop() # 删除students集合
# 删除数据库
db.dropDatabase()

 远程登入,以及添加账号密码:

# 查看当前数据库下面的用户有哪些
show users

# 为每个数据库单独设置账号
use myMongoDB  // 跳转到需要添加用户的数据库
db.createUser({
  user: 'jupy',          // 用户名
  pwd: 'jupy',      // 密码
  roles:[{
    role: 'readWrite',  // 读写权限角色
    db: 'myMongoDB'     // 数据库名
  }]
})

# 开启mongd服务之后进行登入
mongo myMongoDB -u jupy -p jupy

db.dropUser('testuser')  // 删除用户
db.updateUser('jupy', {pwd: '10000'})  // 修改用户密码

# 设置超级管理员账号密码
use admin
db.createUser({
  user: 'administor',    // 用户名(自定义)
  pwd: 'admin123',  // 密码(自定义)
  roles:[{
    role: 'root',   // 使用超级用户角色
    db: 'admin'     // 指定数据库
  }]
})

# 超级管理员登入
# 方式一
mongo
use admin
db.auth('administor', 'admin123')  # 密码认证

# 方式二
mongo admin -u administor -p admin123

MongoDB术语:

 安装:

# Create a /etc/yum.repos.d/mongodb-org-5.0.repo file so that you can install MongoDB directly using yum
vim /etc/yum.repos.d/mongodb-org-5.0.repo

[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc

sudo yum install -y mongodb-org

# To prevent unintended upgrades, pin the package. To pin a package, add the following exclude directive to your /etc/yum.conf file:
vim /etc/yum.conf
#exclude=mongodb-org,mongodb-org-database,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools

卸载:

sudo service mongod stop

sudo yum erase $(rpm -qa | grep mongodb-org)

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值