MongoDB介绍,库和集合、文档等操作

一、MongoDB介绍

MongoDB是一种可扩展的敏捷NoSQL数据库,其中的Mongo源自单词humongous。MongoDB基于NoSQL文档存储模型;在这种模型中,数据对象被存储为集合中的文档,而不是传统关系型数据库中的行和列。文档是以二进制JSON(BSON)对象的方式存储的。

1、面向文档

MongoDB是面向文档的,数据在数据库中的存储格式与您要在服务器端脚本和客户端脚本中处理的格式非常接近。这避免了将数据在行和对象之间进行转换

2、高性能

MongoDB是市面上性能最高的数据库之一。在当今世界,很多用户都与网站交互,因此拥有能够支持庞大流量的后端至关重要

3、高可用性

MongoDB的复制模型使其很容易保持高可用性,同时能够提供高性能和高可扩展性

4、高可扩展性

MongoDB的结构使得能够将数据分布到多台服务器,从而轻松地实现横向扩展

5、对SQL注入攻击免疫

MongoDB将数据存储为对象,而不使用SQL字符串,因此对SQL注入攻击(通过浏览器在Web表单中输入SQL语句,从而威胁DB的安全)免疫

在这里插入图片描述

二、库和集合操作

1、进入和退出(交互模式)

进入:mongo
退出:exit

2、库操作语句

1、显示所有库:show dbs	# 数据库没有内容,将不会显示
2、切换数据库:use student  # 不存在则创建
3、查看在哪个数据库:db	# 默认会自动进入test库
4、删除数据库:db.dropDatabase()

3、集合操作语句

1、创建集合:db.createCollection('集合名字')
2、显示所有集合:show collections
3、删除集合:db.集合名字.drop()

3、删除数据库

# 自己删除自己
db.dropDatabase()	# 删除后要退出mongodb / 切换数据库

三、文档操作

1、插入

1、插入单条:db.集合名.insert(document)   # 官方主推:insertOne
eg:db.student.insert({name:'beidou',age:18})
2、插入多条:db.集合名.insert([{},{}])	# insertMany

2、查询文档

1、find
db.集合名.find()	# 查询所有内容
db.集合名.find().pretty()	# 格式化显示出来
db.集合名.find({name:'budong'}).pretty()	# 带条件查询

2、条件查询 and  or
【and】:直接用逗号分割即可
eg:db.集合名.find({name:'budong',age:'18'})
【or】:{'$or':[{key1:value1},{key2,value2}]}
eg:db.集合名.find({'$or':[{name:'budong'},{age:'18'}]})
eg:db.集合名.find({name:'beidou',$or:[{'name':'kongshan'},{'_id':{$ne:1}}]})
eg:db.集合名.find({'age':{$gte:20}})

在这里插入图片描述

3、修改文档

1、修改数据
db.stus.update({'name':'test'},{'name':'jingluo'})  # 只剩下名字
db.stus.update({'name':'test'},{'name':'jingluo','sex':'nan'})

2、指定属性修改
db.stus.update({'name':'jingluo'},{"$set":{'age':39}})

3、修改全局
db.stus.update({'age':39},{'$set':{'age':40,'sex':'nan'}})
db.stus.update({'name':{'$ne':'beidou'}},{'$set':{'age':20}}) # 名字不等于beidou的,年龄修改为20岁

4、删除(符合条件的)
db.stus.remove({'age':18})
删除一条:db.stus.remove({"name":'beidou'},{justOne:true})
删除所有文档:db.stus.remove({})
真正删除回收磁盘空间:db.repairDatabase()
下载 pip install
pip install xxx
pip install xxx -i http://mirrors.aliyun.com/pypi/simple/
pip install xxx -i http://pypi.douban.com/simple

4、python交互

1、安装模块
pip install pymongo
2、连接数据库
import pymongo
client = pymongo.MongoClient()
db = client['test']			# 跟上数据库名
collection = db['student']   # 指定集合名
3、增删改查
1、添加  insert_one insert_many
collection.insert_one({"name":'kongshan', "age": 12})

2、查找 find find_one
collection.find() # 查找一个

3、改 update_one update_many
collection.update_one({"name":"kongshan"}, {"$set":{"age": 20}})

4、删除
collection.delete_one({"name":"kongshan"})
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Taverry

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

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

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

打赏作者

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

抵扣说明:

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

余额充值