8.3 操作MongoDB数据库

时间:2023-03-09 13:34:34
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官方文档。

 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)