zoukankan      html  css  js  c++  java
  • Pymongo--极简使用指南

    1.简介及安装

    pymongo是Python中用来操作MongoDB的一个库。而MongoDB是一个基于分布式文件存储的数据库,旨在为WEB应用提供可扩展的高性能数据存储解决方案。其文件存储格式类似于JSON,叫BSON,不严谨、通俗地理解,就是Python中的字典键值对格式

    例如:(简单的BSON结构体文档)

    {
        title:"MongoDB",
        last_editor:"192.168.1.122",
        last_modified:new Date("27/06/2011"),
        body:"MongoDB introduction",
        categories:["Database","NoSQL","BSON"],
        revieved:false
    }

    要利用Python操作MongoDB,有以下两个步骤:

    1.在电脑上安装MongoDB;

    2.在Python上装入pymongo的库。

    step1 安装MongoDB,官网:

    step2 安装了MongoDB后,需要创建文件夹data、log及并配置文件配置文件 mongo.cfg 以及配置环境变量

    (注:此处的路径表示你要创建数据库的文件夹,其中data文件夹需要自己在MongoDB路径下创建,系统不会在动帮你生成。)

     具体看我的上篇文章:https://www.cnblogs.com/liangmingshen/p/9998777.html

    验证是否成功:

    以上步骤完成后可以在浏览器中输入:

    如果看到信息"It looks like you are trying to access MongoDB over HTTP on the native driver port."说明已经成功,可以开始使用了。


    2.连接及建库-创表-数据的(增-删-改-查)

    (1)连接MongoDB

    使用pymongo的第一步首先是连接Client来使用服务:

    from pymongo import MongoClient
    client = MongoClient()

     

    (2)连/建 数据库 ( my_db是数据库名称,如果没有会自动创建)

    在MongoDB中一个实例能够支持多个独立的数据库,你可以用点取属性的方式来获取数据库,或者通过字典的方式获取:

    db = client.my_db
    db = client['my_db']

     

    (3)连/建Collection(~建表)

    Collection是存储在MongoDB中的一组文件,同获取database一样,你可以用点取属性的方式或者字典的方法获取:

    collection = db.my_collection
    collection = db['my_collection']

     

    (4)查看数据库下所有表名

    db.collection_names() 

     

    (5)新增数据

    insert_one() 插入单个数据:

    collection.insert_one({"key1":"value1","key2","value2"}) 

    insert_many()插入多个数据:

    new_document = [{'x':3}, {'x':4}]
    result = posts.insert_many(new_document)

     

    (6)删除数据

    collection.delete_one({'x':2}) 
     
    collection.delete_many({})  # 删除全部

     

    (7)更新数据

    collection.update_one({"key1": "value1"})  

    # 同样地,也可以用update_many()一次更新多个值

     

    (8)查询数据

    collection.find_one()  
    collection.find_one({"key1":"value1"}) 

    遍历查询全部数据

    for item in collection.find():      
        print(item)

    获取数据总数

    print(collection.find().count()) 

    查询结果排序

    collection.find().sort("key1") # 默认为升序  
    collection.find().sort("key1", pymongo.ASCENDING) # 升序  
    collection.find().sort("key1", pymongo.DESCENDING) # 降序  

     

     

  • 相关阅读:
    栈及练习
    约瑟夫问题
    双向链表
    链表
    线性表
    高级排序
    建议16:比较函数调用模式
    建议15:推荐动态调用函数
    建议14:灵活使用Arguments
    建议13:禁用Function构造函数
  • 原文地址:https://www.cnblogs.com/liangmingshen/p/9998868.html
Copyright © 2011-2022 走看看