mongodb 的安装与简单操作

mongodb 的安装与简单操作


更好的阅读体验:https://www.wolai.com/shNyWgzza49EytaDHnr1j4


目录

环境

ubuntu18.04

服务器端

实验内容

安装mongodb

apt install mongodb

安装好后的配置文件在/etc/mongodb.conf

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xXVFWsLZ-1652497177753)(image/image__pNbi7RIJL.png)]

日志文件:

/var/log/mongodb/mongodb.log

数据文件在:

/var/lib/mongodb

通过日志文件可以查看到mongodb是否已经运行和运行的端口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yPHmJI47-1652497177755)(image/image_lF61VsxhxP.png)]

停止mongodb

systemctl stop mongodb

开启mongodb

systemctl start mongodb

数据库操作

进入数据库操作界面

mongo shell

在操作界面使用help可以查看到帮助命令

help

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vTRMuWv1-1652497177756)(image/image_GvUEM7mmPp.png)]

创建并操控数据库

创建一个test数据库,并切换到此数据库

(用官网的话就是:To switch databases, type use <db>. For example, to switch to the examples database, You do not need to create the database before you switch. MongoDB creates the database when you first store data in that database (such as create the first collection in the database).)

use test

使用命令db查看当前所在数据库

db

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1yVTzO79-1652497177756)(image/image_3kK0AIuBqF.png)]

删除数据库

db.dropDatabase()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eLdcAKDB-1652497177757)(image/image_tPHan6N58f.png)]

集合操作

创建集合

OPTION为可选选项

db.createCollection(“COLLECTION_NAME”, [OPTION])

创建一个集合

db.createCollection(“firstCollection”)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IuFAWjar-1652497177757)(image/image_8XhCABfHLa.png)]

删除集合

db.COLLECTION_NAME.drop()

删除一个集合

db.firstCollection.drop()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OvYfk1x8-1652497177758)(image/image_a00lgoDs5-.png)]

文档的插入,更新与删除操作

文档插入

具体语法:

db.COLLECTION_NAME.insert(document)

db.COLLECTION_NAME.save(document)

多文档插入(文档数组)

db.COLLECTION_NAME.insertMany([document1,document2,…])

插入的文档内容

{"articleid":"100000","content":"今天天气真好,阳光明媚","userid":"1001","nickname":"Rose","age":"20","phone":"18807141995","createdatetime":new Date(),"likenum":NumberInt(10),"state":null}
db.firstCollection.insert({"articleid":"100000","content":"今天天气真好,阳光明媚","userid":"1001","nickname":"Rose","age":"20","phone":"18807141995","createdatetime":new Date(),"likenum":NumberInt(10),"state":null})

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-drEUXJHi-1652497177758)(image/image_fxadMa6zEx.png)]

查看集合内的内容

db.COLLECTION_NAME.find()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pQaN9PuQ-1652497177759)(image/image_V6J_8sOqht.png)]

插入多个文档

文档内容:

{"_id":"1","articleid":"100001","content":"清晨,我们不该把时间浪费在手机上,健康很重要,喝一杯温水,幸福你我他。","userid":"1002","nickname":"相忘于江湖","age":"25","phone":{"homePhone":"82174911","mobilePhone":"13065840128"},"createdatetime":new Date("2020-01-02 09:08:15"),"likenum":NumberInt(1000),"state":"1"},

{"_id":"2","articleid":"100001","content":"我夏天空腹喝凉开水,冬天喝温开水","userid":"1003","nickname":"伊人憔悴","age":"22","phone":"13442031624","createdatetime":new Date("2020-01-02 10: 20: 40"),"likenum":NumberInt(888),"state":"1"},

{"_id":"3","articleid":"100001","content":"夏天和冬天,我都喝凉开水","userid":"1004","nickname":"杰克船长","age":"28","phone":"13937163334","createdatetime":new Date("2020-01-02 14:56:09"),"1ikenum":NumberInt(666),"state":nu11},

{"_id":"4","articleid":"100001","content":"专家说不能空腹喝冰水,影响健康","userid":"1005","nickname":"罗密欧","age":"18","phone":"15813134403","createdatetime":new Date("2020-01-03 11:26:29"),"likenum":NumberInt(2000),"state":"1"},

{"_id":"5","articleid":"100001","content":"研究表明,刚烧开的水千万不要喝,因为烫嘴","userid":"1005","nickname":"罗密欧","age":"18","phone":"15813134403","createdatetime":new Date("2020-01-03 15:10;37"),"likenum":NumberInt(3000),"state":"1"},

{"_id":"6","articleid":"100001","content":"喝水是生命体通过口腔摄入水分的方式,人体每天通过口腔摄入的液体大约有2升","userid":"1006","nickname":"爱德华","age":"30","phone":{"homePhone":"62771541","mobilePhone":"13262984142"},
"createdatetime":new Date("2020-01-03 15:10:37"),"likenum":NumberInt(3000),"state":"1"}

插入操作

db.firstCollection.insertMany([
{"_id":"1","articleid":"100001","content":"清晨,我们不该把时间浪费在手机上,健康很重要,喝一杯温水,幸福你我他。","userid":"1002","nickname":"相忘于江湖","age":"25","phone":{"homePhone":"82174911","mobilePhone":"13065840128"},"createdatetime":new Date("2020-01-02 09:08:15"),"likenum":NumberInt(1000),"state":"1"},

{"_id":"2","articleid":"100001","content":"我夏天空腹喝凉开水,冬天喝温开水","userid":"1003","nickname":"伊人憔悴","age":"22","phone":"13442031624","createdatetime":new Date("2020-01-02 10: 20: 40"),"likenum":NumberInt(888),"state":"1"},

{"_id":"3","articleid":"100001","content":"夏天和冬天,我都喝凉开水","userid":"1004","nickname":"杰克船长","age":"28","phone":"13937163334","createdatetime":new Date("2020-01-02 14:56:09"),"1ikenum":NumberInt(666),"state":nu11},

{"_id":"4","articleid":"100001","content":"专家说不能空腹喝冰水,影响健康","userid":"1005","nickname":"罗密欧","age":"18","phone":"15813134403","createdatetime":new Date("2020-01-03 11:26:29"),"likenum":NumberInt(2000),"state":"1"},

{"_id":"5","articleid":"100001","content":"研究表明,刚烧开的水千万不要喝,因为烫嘴","userid":"1005","nickname":"罗密欧","age":"18","phone":"15813134403","createdatetime":new Date("2020-01-03 15:10;37"),"likenum":NumberInt(3000),"state":"1"},

{"_id":"6","articleid":"100001","content":"喝水是生命体通过口腔摄入水分的方式,人体每天通过口腔摄入的液体大约有2升","userid":"1006","nickname":"爱德华","age":"30","phone":{"homePhone":"62771541","mobilePhone":"13262984142"},
"createdatetime":new Date("2020-01-03 15:10:37"),"likenum":NumberInt(3000),"state":"1"}
])

文档更新

具体语法:

db.COLLECTION_NAME.update(criteria, objNew, upsert, multi)

criteria: 该参数表示更新的查询条件

objNew: 该参数表示更新的对象和一些更新的操作符等,可以理解为sql更新查询中的set后面的条件

upsert:在不存在更新文档的情况下,用于判断是否插入objNew,true表示插入,反之false

multi:默认为false,只更新找到的第一个文档,true则查出的多个文档都进行更新

db.firstCollection.update({"content":"喝水是生命体通过口腔摄入水分的方式,人体每天通过口腔摄入的液体大约有2升"},{$set:{"content":"喝水增加了尿量,能使有害物质及时排出体内"}})

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FhVKsML4-1652497177760)(image/image_29Diip4WqR.png)]

文档删除

删除单个文档

db.COLLECTION_NAME.remove(
  <query>
  {
    justOne:<boolean>,
    writeConcern:<document>
  }
)  

删除所有的文档

db.COLLECTION_NAME.remove()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XhbYm2Wd-1652497177761)(image/image_j9Ixsp-9Ew.png)]

文档查询

查询所有文档

db.COLLECTION_NAME.find()

查询所有文档,查询结果以易读的方式进行展示

db.COLLECTION_NAME.find().pretty()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fn4xq8b4-1652497177761)(image/image_aKfEcEgpdH.png)]

按条件查询

与操作符

db.COLLECTION_NAME.find({$and:[{<key1>:<value1>,<key2>:<value2>}]}).pretty()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IUFGLOx1-1652497177761)(image/image_VYKIxW0LcK.png)]

或操作符

db.COLLECTION_NAME.find({$or:[{<key1>:<value1>},{<key2>:<value2>}]})

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-596OzAQN-1652497177762)(image/image_hSZluBsiL3.png)]

大于操作符

db.COLLECTION_NAME.find({<key>: {$gt:<value>}}).pretty()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VNi0qgl8-1652497177763)(image/image_B1N2fuemWk.png)]

小于操作符

db.COLLECTION_NAME.find({<key>: {$lt:<value>}}).pretty()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oVD5VbO3-1652497177763)(image/image_N_gdBpbzi9.png)]

大于等于操作符

db.COLLECTION_NAME.find({<key>: {$gte:<value>}}).pretty()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r9fDh7AJ-1652497177763)(image/image_bHwlZy8q0G.png)]

小于等于操作符

db.COLLECTION_NAME.find({<key>: {$lte:<value>}}).pretty()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nP8q7qQo-1652497177764)(image/image_5wSYI2tT4e.png)]

不等于操作符

db.COLLECTION_NAME.find({<key>: {$ne:<value>}}).pretty()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uwq55R2I-1652497177764)(image/image_0YRJhaZDoB.png)]

包含操作符

db.COLLECTION_NAME.find({<key>: {$in:[<value1>:<value2>]}}).pretty()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2CktxRAW-1652497177765)(image/image_-dUqshtYt1.png)]

不包含操作符

db.COLLECTION_NAME.find({<key>: {$nin:[<value1>:<value2>]}}).pretty()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ivilryWm-1652497177765)(image/image_gW-1rVyZ7q.png)]

按特定类型进行查询

null类型查询,用于查询集合中字段值为null的文档
db.COLLECTION_NAME.find({<key>:null}).pretty()

正则表达式查询,用于查询集合中符合某个规则的文档
db.COLLECTION_NAME.find({<key>:\正则表达式\}).pretty()

嵌套文档匹配查询
db.COLLECTION_NAME.find({<key>:{<key1>:<value1>,<key2>:<value2>}}).pretty()

嵌套文档查询之点查询
db.COLLECTION_NAME.find({<key>.<key1>:<value1>}).pretty()



更好的阅读体验:
https://www.wolai.com/shNyWgzza49EytaDHnr1j4

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值