8.3 操作MongoDB数据库

  一项权威调查显示,在大数据时代软件开发人员必备的十项技能中MongoDB数据库名列第二,仅次于HTML5。MongoDB是一个基于分布式文件存储的文档数据库,可以说是非关系型(Not Only SQL,NoSQL)数据库中比较像关系型数据库的一个,具有免费、操作简单、面向文档存储、自动分片可扩展性强、查询功能强大等特点,对大数据处理支持较好,旨在为Web应用提供可扩展的高性能数据存储解决方案。MongoDB将数据存储为一个文档,数据结构由键值(key -> value)对组成。MongoDB文档类似于JSON对象。字段值可以包含其他文档、数组和文档数组。

  MongoDB数据库可以到官网下载,安装教程可以自行百度。

  Python扩展库pymongo完美支持MongoDB数据的操作,可以使用pip命令进行安装。下面的代码演示了pymongo操作MongoDB数据库的一部分用法,算是抛砖引玉吧,更多的用法可以学习使用Python的利器dir()和help()来获得,或者查阅MongoDB官方文档。

 1 import pymongo                #导入模块
 2 
 3 client = pymongo.MongoClint('localhost',27017)    #连接数据库,27017是默认端口
 4 db = client.students                              #获取数据库
 5 db.collection_names()                             #查看数据集合名称列表 
 6 students = db.students                            #获取数据集合
 7 students.find()
 8 
 9 for item in students.find():                      #遍历数据
10     print(item)
11     
12 wangwu={'name':'Wangwu','age':20,'sex':'male'}
13 students.insert(wangwu)                           #插入一条记录
14 for item in students.find({'name':'Wangwu'}):    #指定查询条件
15     print(item)
16 
17 students.find_one()                               #获取一条记录
18 students.find_one({'name':'Wangwu'})
19 students.find().count()                           #获取记录总数
20 students.remove({'name':'Wangwu'})                #删除一条记录
21 
22 students.create_index(('name',pymongo.ASCENDING))  #创建索引
23 
24 students.update({'name':'Zhangsan'},{'$set':{'age':25}})   #更新数据库
25 
26 students.remove()                                  #清空数据库
27 
28 Zhangsan = ''
29 Lisi = ''
30 Wangwu = ''
31 students.insert_many([Zhangsan,Lisi,Wangwu])      #插入多条数据
32 
33 for item in students.find().sort('name',pymongo.ASCENDING):   #对查询结果排序
34     print(item)
35     
原文地址:https://www.cnblogs.com/avention/p/8973674.html