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.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()