zoukankan      html  css  js  c++  java
  • 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     
  • 相关阅读:
    SSL JudgeOnline 1194——最佳乘车
    SSL JudgeOnline 1457——翻币问题
    SSL JudgeOnlie 2324——细胞问题
    SSL JudgeOnline 1456——骑士旅行
    SSL JudgeOnline 1455——电子老鼠闯迷宫
    SSL JudgeOnline 2253——新型计算器
    SSL JudgeOnline 1198——求逆序对数
    SSL JudgeOnline 1099——USACO 1.4 母亲的牛奶
    SSL JudgeOnline 1668——小车载人问题
    SSL JudgeOnline 1089——USACO 1.2 方块转换
  • 原文地址:https://www.cnblogs.com/avention/p/8973674.html
Copyright © 2011-2022 走看看