MongoDB中固定集合及游标使用

mongo中可以创建大小固定集合,称之为固定集合,固定集合的性能出色,适用于很多场景
比如:日志处理   临时缓存
特点:  插入速度快
        顺序查询速度快
        能够讨淘汰早期数据
        可以控制集合空间
创建:
db.createCollection(collectionName,{capped:true,size:10000,max:1000})
size : 设置固定集合的大小 kb
max  : 最多能容纳多少文档
e.g.
创建一个最多包含三条文档的集合
db.createCollection('log',{capped:true,size:10,max:3})
文件存储
数据库存储文件的方式
1.在数据库中以字符串的方式存储文件在本地的路径
优点:节省数据库空间
缺点:当数据库或者文件位置发生变化即需要相应修改数据库内容

2.将文件已二进制数据的方式存放在数据库里
优点:文件存入数据库,数据库在,文件即不会丢失
缺点:当文件较大时数据库空间占用大,提取困难
mongo中   使用GridFs方法 大文件存储
GridFs:  是mongodb中大文件存储的一种方案,mongo中认为大于16M的文件为大文件
方案解释:
在mongodb数据库中,创建两个集合 共同完成对文件的存储
fs.files:cunc文件的相关信息 比如:文件名 文件类型
fs.chunks:实际存储文件内容,以二进制方式分块存储,将大文件分为多个小块,每块占一个空间

mongofiles -d dbname put    test.py
                数据库       要存的文件
*如果数据库不存在则自动创建
获取数据库中文件
mongofiles -d grid get test.py

优缺点:
优点:存储方便,方便数据库移植,对文件个数没有太多限制
缺点:读写效率低

游标
为什么使用游标
1.防止网络拥塞 造成数据传输慢
2.提高用户解析体验,可以后端解析
var cursor = db.class0.find() 创建游标
cursor.hasNext() 查看是否有下一个数据
cursor.next() 获取下一个数据
通过python操作mongodb数据库
Python -----------> mongo编程接口 pymongo
安装
sudo pip3 install pymongo
操作步骤
1.创建mongo数据库的连接对象
conn = MongoClient('localhost',27017)
2.生成数据库对象
db=conn.stu                                                                    
3.生成集合对象
my_set=db.class0
4.增删改查 索引聚合操作

插入数据   insert()   insert_many()    insert_one()  save()
删除数据
remove({},multi=True)
multi  默认为True表示删除所有复合条件的数据
       设置为False表示值删除一条

你可能感兴趣的:(MongoDB中固定集合及游标使用)