• mongodb和python交互


    pip install pymongo
    
    # 导入模块
    from pymongo import MongoClient
    
    # 如果是本地连接host,port参数可以省略
    # client = MongoClient() 
    # 1.连接ubantu的mongodb客户端
    client = MongoClient(host="192.168.243.130") 
    
    # 支持[]和.语法
    # collection = client[数据库名][集合名]
    # 2.获取集合对象
    collection = client.数据库名.集合名
    
    
    添加一条数据
    collection.insert_one({"name": "curry30"})
    添加多条数据
    collect.insert_many([{"name": "harden"},
                         {"name": "james"},
                         {"name": "kobe"}])
    
    查找一条数据
    
    ret = collect.find_one()
    print(ret)
    查找全部数据
    
    ret = collect.find()
    # find函数默认返回的结果是Cursor对象,是一个可迭代对象
    data_list = list(ret)
    print(data_list)
    
    覆盖式更新
    
    collect.update({"name": "郭靖"}, {"name": "黑马程序员"})
    批量更新
    
    # 旧语法
    collect.update({"name": "kobe"}, {"$set": {"name": "kobe24"}}, multi=True)
    
    # 新语法,没有multi=True参数
    collect.update_many({"name": "kobe24"}, {"$set": {"name": "kobe_24"}})
    
    delete_one()删除一条数据
    
    collect.delete_one({"name": "harden"})
    delete_many()删除全部数据
    
    collect.delete_many({"name": "james"})
    
    需要权限认证的方式
    from pymongo import MongoClient
    from urllib.parse import quote_plus
    
    user = 'python' # 账号
    password = 'python' # 密码
    host = '127.0.0.1' # ip地址
    port = 27017 # 端口
    
    # quote_plus函数:对url进行编码
    # uri = mongodb://python:python@127.0.0.1
    uri = "mongodb://%s:%s@%s" % (quote_plus(user),
                                  quote_plus(password),
                                  host)
    
    # 链接客户端
    client = MongoClient(uri, port=port)
    # 获取集合对象
    collection = client.数据库名称.集合名

    • 查看当前的数据库:db(没有切换数据库的情况下默认使用test数据库)
    • 查看所有的数据库:show dbs /show databases
    • 切换数据库:use db_name
      • db_nameshow dbs后返回的数据库名
    • 删除当前的数据库:db.dropDatabase()
    • 无需手动创建集合: 向不存在的集合中第一次添加数据时,集合会自动被创建出来
    • 手动创建集合:
      • db.createCollection(name,options)
      • db.createCollection("stu")
      • db.createCollection("sub", { capped : true, size : 10 } )
      • 参数capped:默认值为false表示不设置上限,值为true表示设置上限
      • 参数size:集合所占用的字节数。 当capped值为true时,需要指定此参数,表示上限大小,当文档达到上限时, 会将之前的数据覆盖,单位为字节
    • 查看集合:show collections
    • 删除集合:db.集合名称.drop()
    • 检查集合是否设定上限:db.集合名.isCapped()
  • 相关阅读:
    2017.3.13-afternoon
    2017.3.13-morning
    2017.3.10-afternoon
    2017.3.10-morning
    2017.3.9-afternoon
    2017.3.9-morning
    神经网络入门
    webpack 安装
    git 常用命令
    mysql 用户管理和权限设置
  • 原文地址:https://www.cnblogs.com/wwr3569/p/13966644.html
Copyright © 2020-2023  润新知