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     
  • 相关阅读:
    测试方案写作要点
    [loadrunner]通过检查点判定事务是否成功
    【面试】如何进行自我介绍
    【nginx网站性能优化篇(1)】gzip压缩与expire浏览器缓存
    【nginx运维基础(6)】Nginx的Rewrite语法详解
    【PHPsocket编程专题(实战篇①)】php-socket通信演示
    【Linux高频命令专题(22)】gzip
    【nginx运维基础(5)】Nginx的location攻略
    【Linux高频命令专题(21)】df
    【PHPsocket编程专题(理论篇)】初步理解TCP/IP、Http、Socket.md
  • 原文地址:https://www.cnblogs.com/avention/p/8973674.html
Copyright © 2011-2022 走看看