拉取镜像:
docker pull mongo:6.0.2
创建容器:
docker run --name mongo -d -p 27017:27017 mongo:6.0.2
设置用户名和密码:
# 创建mongo容器后,进入容器
docker exec -it mongo bash
# 进入mongo shell
mongosh
# 进入admin数据库
use admin
# 创建用户名和密码
db.createUser({user:'zhangdapeng',pwd:'zhangdapeng520',roles:[{role:'root',db:'admin'}]})
校验用户名和密码:
# 认证登录db.auth('用户名','密码'),打印1则代表认证通过
db.auth('zhangdapeng','zhangdapeng520')
pip install ./dist/zdppy_mongo-0.1.0.tar.gz
import time
from mongo.pymongo import MongoClient
# 会开进程,主进程需要等待
client = MongoClient('mongodb://zhangdapeng:zhangdapeng520@localhost:27017/')
print(client)
# 等待1秒钟
time.sleep(1)
print("建立连接成功:", client)
import time
import mongo
# 建立链接,会开进程,主进程要等待一会儿
client = mongo.MongoClient('mongodb://zhangdapeng:zhangdapeng520@localhost:27017/')
time.sleep(1)
print("建立连接成功:", client)
# 创建数据库
db = client["user_manager"]
print(db)
# 删除数据库
client.drop_database("user_manager")
import time
import mongo
# 建立链接,会开进程,主进程要等待一会儿
client = mongo.MongoClient('mongodb://zhangdapeng:zhangdapeng520@localhost:27017/')
time.sleep(1)
print("建立连接成功:", client)
# 创建数据库
db = client["user_manager"]
print(db)
# 创建集合
db_user = db["user"]
print(db_user)
# 删除数据库
client.drop_database("user_manager")
import time
import mongo
# 建立链接,会开进程,主进程要等待一会儿
client = mongo.MongoClient('mongodb://zhangdapeng:zhangdapeng520@localhost:27017/')
time.sleep(1)
print("建立连接成功:", client)
# 创建数据库
db = client["user_manager"]
print(db)
# 创建集合
db_user = db["user"]
print(db_user)
# 添加数据
r = db_user.insert_one({"name": "张三", "age": 23})
print(r)
# 删除数据库
client.drop_database("user_manager")
import time
import mongo
# 建立链接,会开进程,主进程要等待一会儿
client = mongo.MongoClient('mongodb://zhangdapeng:zhangdapeng520@localhost:27017/')
time.sleep(1)
print("建立连接成功:", client)
# 创建数据库
db = client["user_manager"]
print(db)
# 创建集合
db_user = db["user"]
print(db_user)
# 添加数据
r = db_user.insert_one({"name": "张三", "age": 23})
print(r)
# 查询数据
r = db_user.find_one({"name": "张三"})
print(r)
# 删除数据库
client.drop_database("user_manager")
import time
import mongo
# 建立链接,会开进程,主进程要等待一会儿
client = mongo.MongoClient('mongodb://zhangdapeng:zhangdapeng520@localhost:27017/')
time.sleep(1)
print("建立连接成功:", client)
# 创建数据库
db = client["user_manager"]
print(db)
# 创建集合
db_user = db["user"]
print(db_user)
# 添加数据
r = db_user.insert_many([{"name": f"张三{i}", "age": i % 20} for i in range(100)])
print(r)
# 删除数据库
client.drop_database("user_manager")
import time
import mongo
# 建立链接,会开进程,主进程要等待一会儿
client = mongo.MongoClient('mongodb://zhangdapeng:zhangdapeng520@localhost:27017/')
time.sleep(1)
print("建立连接成功:", client)
# 创建数据库
db = client["user_manager"]
print(db)
# 创建集合
db_user = db["user"]
print(db_user)
# 添加数据
r = db_user.insert_many([{"name": f"张三{i}", "age": i % 20} for i in range(100)])
print(r)
# 查询数据
r = db_user.find()
print(list(r))
# 删除数据库
client.drop_database("user_manager")
import time
import mongo
# 建立链接,会开进程,主进程要等待一会儿
client = mongo.MongoClient('mongodb://zhangdapeng:zhangdapeng520@localhost:27017/')
time.sleep(1)
print("建立连接成功:", client)
# 创建数据库
db = client["user_manager"]
print(db)
# 创建集合
db_user = db["user"]
print(db_user)
# 添加数据
# 添加数据
r = db_user.insert_many([{"name": f"张三{i}", "age": i % 20} for i in range(100)])
print(r)
# 查询数据
r = db_user.find()
print(list(r))
# 查询数据
print(db_user.count_documents({}))
# 删除数据库
client.drop_database("user_manager")
import time
import mongo
# 建立链接,会开进程,主进程要等待一会儿
client = mongo.MongoClient('mongodb://zhangdapeng:zhangdapeng520@localhost:27017/')
time.sleep(1)
print("建立连接成功:", client)
# 创建数据库
db = client["user_manager"]
print(db)
# 创建集合
db_user = db["user"]
print(db_user)
# 添加数据
r = db_user.bulk_write([
mongo.DeleteMany({}), # 删除所有数据
mongo.InsertOne({"name": "张三", "age": 23}), # 新增一条数据
mongo.InsertOne({"name": "李四", "age": 23}), # 新增一条数据
mongo.UpdateOne({"name": "李四"}, {"$set": {"age": 24}}), # 更新数据
mongo.UpdateOne({"name": "李四"}, {"$inc": {"age": 1}}), # 更新数据
mongo.ReplaceOne({"name": "李四"}, {"name": "李四", "age": 34}), # 替换数据
])
print(r)
# 查询数据
r = db_user.find()
print(list(r))
# 删除数据库
client.drop_database("user_manager")
import time
import mongo
# 建立链接,会开进程,主进程要等待一会儿
client = mongo.MongoClient('mongodb://zhangdapeng:zhangdapeng520@localhost:27017/')
time.sleep(1)
print("建立连接成功:", client)
# 创建数据库
db = client["user_manager"]
print(db)
# 创建集合
db_user = db["user"]
print(db_user)
# 添加数据
data = [
mongo.DeleteMany({}), # 删除所有数据
mongo.InsertOne({"name": "张三", "age": 23}), # 新增一条数据
mongo.InsertOne({"name": "李四", "age": 23}), # 新增一条数据
mongo.UpdateOne({"name": "李四"}, {"$set": {"age": 24}}), # 更新数据
mongo.UpdateOne({"name": "李四"}, {"$inc": {"age": 1}}), # 更新数据
mongo.ReplaceOne({"name": "李四"}, {"name": "李四", "age": 34}), # 替换数据
]
try:
r = db_user.bulk_write(data)
print(r)
except mongo.BulkWriteError as e:
print("批量执行操作失败:", e)
# 查询数据
r = db_user.find()
print(list(r))
# 删除数据库
client.drop_database("user_manager")
import time
import mongo
# 建立链接,会开进程,主进程要等待一会儿
client = mongo.MongoClient('mongodb://zhangdapeng:zhangdapeng520@localhost:27017/')
time.sleep(1)
print("建立连接成功:", client)
# 创建数据库
db = client["user_manager"]
print(db)
# 创建集合
db_user = db["user"]
print(db_user)
# 添加数据
data = [
{"name": "张三", "age": 23},
{"name": "李四", "age": 33},
{"name": "王五", "age": 25},
]
r = db_user.insert_many(data)
print(r)
# 更新
# 年龄小于30岁的自增1
db_user.update_many(
{"age": {"$lt": 30}},
{"$set": {"age": 33}}
)
# 查询数据
r = db_user.find()
print(list(r))
# 删除数据库
client.drop_database("user_manager")
import time
import datetime
import mongo
# 建立链接,会开进程,主进程要等待一会儿
client = mongo.MongoClient('mongodb://zhangdapeng:zhangdapeng520@localhost:27017/')
time.sleep(1)
print("建立连接成功:", client)
# 创建数据库
db = client["user_manager"]
print(db)
# 创建集合
db_user = db["user"]
print(db_user)
# 添加数据
r = db_user.insert_one({"last_modified": datetime.datetime.now()})
print(r)
# 查询数据
r = db_user.find()
print(list(r))
# 删除数据库
client.drop_database("user_manager")
import time
import mongo
# 建立链接,会开进程,主进程要等待一会儿
client = mongo.MongoClient('mongodb://zhangdapeng:zhangdapeng520@localhost:27017/')
time.sleep(1)
print("建立连接成功:", client)
# 创建数据库
db = client["user_manager"]
print(db)
# 创建集合
db_user = db["user"]
print(db_user)
# 添加数据
data = [
{"name": "张三", "age": 23},
{"name": "李四", "age": 33},
{"name": "王五", "age": 25},
]
r = db_user.insert_many(data)
print(r)
# 查询数据
r = db_user.find().limit(2).skip(2)
print(list(r))
# 删除数据库
client.drop_database("user_manager")
import time
import mongo
# 建立链接,会开进程,主进程要等待一会儿
client = mongo.MongoClient('mongodb://zhangdapeng:zhangdapeng520@localhost:27017/')
time.sleep(1)
print("建立连接成功:", client)
# 创建数据库
db = client["user_manager"]
print(db)
# 创建集合
db_user = db["user"]
print(db_user)
# 添加数据
data = [
{"name": "张三", "age": 23},
{"name": "李四", "age": 33},
{"name": "王五", "age": 25},
]
r = db_user.insert_many(data)
print(r)
# 查询数据
r = db_user.aggregate([{"$group": {"_id": None, "count": {"$sum": 1}, "avg_age": {"$avg": "$age"}}}])
print(list(r))
# 删除数据库
client.drop_database("user_manager")