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_name
为show 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()
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步