一项权威调查显示, 在大数据时代软件开发人员必备的十项技能中 MongoDB 数据库名列第二, 仅次于 html5.MongoDB 是一个基于分布式文件存储的文档数据库, 可以说是非关系型 (Not Only SQL,NoSQL) 数据库中比较像关系型数据库的一个, 具有免费, 操作简单, 面向文档存储, 自动分片可扩展性强, 查询功能强大等特点, 对大数据处理支持较好, 旨在为 web 应用提供可扩展的高性能数据存储解决方案. MongoDB 将数据存储为一个文档, 数据结构由键值 (key -> value) 对组成. MongoDB 文档类似于 JSON 对象. 字段值可以包含其他文档, 数组和文档数组.
MongoDB 数据库可以到官网下载, 安装教程可以自行百度.
Python 扩展库 pymongo 完美支持 MongoDB 数据的操作, 可以使用 pip 命令进行安装. 下面的代码演示了 pymongo 操作 MongoDB 数据库的一部分用法, 算是抛砖引玉吧, 更多的用法可以学习使用 Python 的利器 dir()和 help()来获得, 或者查阅 MongoDB 官方文档.
- import pymongo #导入模块
- client = pymongo.MongoClint('localhost',27017) #连接数据库, 27017 是默认端口
- db = client.students #获取数据库
- db.collection_names() #查看数据集合名称列表
- students = db.students #获取数据集合
- students.find()
- for item in students.find(): #遍历数据
- print(item)
- wangwu={'name':'Wangwu','age':20,'sex':'male'}
- students.insert(wangwu) #插入一条记录
- for item in students.find({'name':'Wangwu'}): #指定查询条件
- print(item)
- students.find_one() #获取一条记录
- students.find_one({'name':'Wangwu'})
- students.find().count() #获取记录总数
- students.remove({'name':'Wangwu'}) #删除一条记录
- students.create_index(('name',pymongo.ASCENDING)) #创建索引
- students.update({'name':'Zhangsan'},{'$set':{'age':25}}) #更新数据库
- students.remove() #清空数据库
- Zhangsan = ''Lisi =''
- Wangwu = ''
- students.insert_many([Zhangsan,Lisi,Wangwu]) #插入多条数据
- for item in students.find().sort('name',pymongo.ASCENDING): #对查询结果排序
- print(item)
来源: http://www.bubuko.com/infodetail-2581455.html