一项权威调查显示,在大数据时代软件开发人员必备的十项技能中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)

最新文章

  1. MVC5 网站开发之八 栏目功能 添加、修改和删除
  2. css3水波纹效果
  3. hdu.1198.Farm Irrigation(dfs +放大建图)
  4. 关于IOS框架的解释
  5. html5 shiv
  6. Ubuntu firefox falsh
  7. ngrok首页、文档和下载 - Web服务安全通道 - 开源中国社区
  8. 【转】C++虚函数解析
  9. elmah - Error Logging Modules and Handlers for ASP.NET - 1 : 初体验
  10. android M Launcher之LauncherModel (一)
  11. JavaScript杂谈(第六天)
  12. 2018-10-04 [日常]用Python读取word文档中的表格并比较
  13. 2016年1月7日 隐藏NavigationBar时的一个坑
  14. [工具]Cobalt Strike 3.13 TeamServer for Windows
  15. bzoj 1455 可并堆+并查集
  16. Java+Windows+ffmpeg实现视频转换
  17. 使用html+css+js实现计算器
  18. 在MyEclipse中修改类不重启tomcat
  19. mac下普通用户无法创建crontab的问题解决
  20. ACM学习历程—Codeforces Round #354 (Div. 2)

热门文章

  1. ios14--购物车优化2
  2. android5.1 Recovery添加从U盘升级功能【转】
  3. uboot流程分析--修改android启动模式按键【转】
  4. canvas上的像素操作(图像复制,细调)
  5. easyui -tree的详细讲解
  6. mysql中判断记录是否存在方法
  7. matlab中增加Java VM 的堆空间(解决xml_io_tools出现的OutOfMemory问题)
  8. CDH5.7Hadoop集群搭建(离线版)
  9. P1418 选点问题
  10. Maven 学习(1)