mongodb
概念
非关系型的数据库保存数据的类型非常的灵活
优势
1 无数据结构的限制 业务开发非常快捷
2 大数据量和高性能
3 良好的支持
安装
https://www.mongodb.com/try/download/community
安装的时候 直接下一步即可 路径最后保持默认
C:\Program Files\MongoDB\Server\4.4\bin 这个bin目录添加到环境变量当中
启动服务
mongod – dbpath C:\Program Files\MongoDB\Server\4.4\data
链接服务
mongo
mongodb的基本使用
show dbs 查看数据库 第一次安装 会有3个它自带的数据库
use admin 选择使用哪个数据库
db 查看当前所使用的数据库
show collectios 查看集合
show tables 查看表
db.dropDatabase() 删除数据库
mongodb中集合的命令
在mongo中建表分为手动和不手动
集合不存在 我像一个不存在的集合来插入数据这个集合就会被创建出来
db.xxx.insert({x:1}) 插入数据
手动创建集合
db.createCollection(name,options)
name:集合的名称
options: 可选参数 大小 不设置这个参数默认为False就是没有上限 设置为True就是有上限
在mongo中如果你的size(代表字节) 小于256 默认就是256
db.xxx.find() 查找所有
如何判断一个表是否设置了上限
db.jerry.isCapped() 返回的是false就是没有设置 true就是设置了
db.xxx_collection.drop() 删除表
ObjectId(“6048be036e2d0e8af3a54b35”) 它是唯一的 而且后面的数据是自动生成的
mongodb的插入数据
db.集合名.insert({})
db.集合名.save() 更新 会覆盖前面的这个数据
mongodb查询数据
show dbs
show tables/collections
show.jerry.find(‘添加条件’) db.stu.find({name:‘姓名’})
db.stu.find({name:‘姓名’}).pretty() 格式化的查询
db.stu.find({age:18,name:‘姓名’}) 多个条件
db.stu.find({age:{$gte:18},hometown:‘地名’})
mongodb操作查询结果
db.stu.find().count() 查询数量
db.stu.count()
db.stu.find().limit(2) 读取2个数据
db.stu.find().skip(2).limit(2)
db.stu.find().limit(2).skip(2) 不建议
映射
指定返回的字段 如果为1则返回该字段 如果为0则除了该字段的所有字段返回
db.stu.find({age:18},{age:1,gender:1})
db.stu.find().sort({age:1}) 升序
db.stu.find().sort({age:-1}) 降序
# 例如此名为 handle_mongo.py
import pymongo
from pymongo.collection import Collection
class Connect_mogon():
def __init__(self):
self.client = pymongo.MongoClient(host='127.0.0.1',port=27017)
# 定义数据库的名字
self.db_data = self.client['库名字']
def insert_item(self,item):
# 定义数据库的表名
db_collection = Collection(self.db_data,'自定义的表名')
db_collection.insert(item)
mongo_info = Connect_mogon()
# 导入 from handle_mongo import mongo_info
# 在解析完成的数据后加上 mongo_info.insert_item(这里填自定义字典保存的数据)