mongoDB快速上手

MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。

MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组,

下载https://www.mongodb.com/try/download/community

下载完成解压缩

在目下创建data/db文件夹

创建logs/mongo.log

创建mongo.config

python 复制代码
dbpath=D:\mongodb-win32-x86_64-windows-7.0.5\data #数据库路径
logpath=D:\mongodb-win32-x86_64-windows-7.0.5\logs\mongo.log #日志输出文件路径
port=27017 #端口号默认为27012

添加环境变量

安装服务

python 复制代码
mongod --config D:\mongodb-win32-x86_64-windows-7.0.5\mongo.config --install --serviceName "mongodb"

打开Windows PowerShell执行命令

启动服务

python 复制代码
mongod --dbpath D:\mongodb-win32-x86_64-windows-7.0.5\data

mongodb增删改查

文档 :文档相当于mysql中的一行,就是一句JSON键值对

集合:多个文档组成一个集合

数据库:多个集合组成一个数据库

展示数据库

show dbs

创建数据库

插入数据

插入数据

python 复制代码
db.xw.insert({data:"2024"})
多条
db.xw.insertMany({}{})

读取数据

python 复制代码
db.xw.findOne()或find()  加pretty()可以美化打印

更新数据

python 复制代码
db.xw.updata({data:"2024"},{data:"2222"})

删除数据

python 复制代码
db.xw.remove({data:"2024"})

删除集合

python 复制代码
db.xw.drop()

MongoDB的ID

MongoDB的每一条文档插入都会有一个默认ID,而且必须存在

属于Objectid这个默认类型,有12字节存储空间,共24个十六进制数字

查询

默认返回当前集合的所有数据

python 复制代码
db.xw.find({})

查询url小于等于10的

python 复制代码
db.xw.find({url:{$lte:10}})
lt 小于
ge 大于
gte 大于等于

查询url是否存在 1 3 4

python 复制代码
db.xw.find({url:{$in:[1,3,4]}})
nin不存在

存在id的

python 复制代码
db.xw.find(id:{$exists:true}})

不显示_id,显示url数据

python 复制代码
db.xw.find({},{_id:0,url:1})

Python操作MongoDB

安装包

python 复制代码
pip install pymongo
python 复制代码
import pymongo
#连接
client=pymongo.MongoClient("mongodb://127.0.0.1:27017")

#数据库
db=client['xw']
#集合
col=db['test']

mydict={"name":"python"}

#插入数据
res=col.insert_one(mydict)
print(res)


# mylist=[
#     {"name":"C++"},{"name":"Lua"}
# ]
# # res=col.insert_many(mylist)
# # print(res)
# for num,i in enumerate(mylist):
#     i['id']=num
#     col.insert_one(i)
## 查找数据
# res=col.find({},{"_id":0})
# for r in res:
#     print(r)
#更新
col.update_one(mydict,{"$set":{"name":"python3"}})
#删除
col.delete_many({})
相关推荐
杨运交6 小时前
[060][调度模块]Redisson vs Redis 原生锁:两种分布式锁实现深度对比
数据库·redis·分布式
FungLeo7 小时前
Node 后端实战 · 列表查询到底怎么写?一个通用 DSL 封装,过滤分页排序一次搞定
数据库·node.js·serverless·dsl 封装·通用列表查询
抓蛙师7 小时前
多租户 tenant_id SQL 注入漏洞分析与应急响应报告
数据库·sql
ACP广源盛139246256737 小时前
Qwen3.8‑2.4T 开源落地@ACP#国产 MoE 私有化部署下 GSV2221 视频转换芯片机遇分析
大数据·数据库·人工智能
七牛开发者8 小时前
为什么 Go 很适合 AI 辅助开发?
数据库·人工智能·python·elasticsearch·log4j
何以解忧,唯有..10 小时前
数据库索引失效的常见情况与优化策略
数据库·sql·oracle
这个DBA有点耶11 小时前
分布式数据库到底该不该上?从判断标准到架构选型的实战思考
数据库·架构·dba
01_ice11 小时前
MySQL库和表的操作
数据库·mysql
oradh11 小时前
Oracle UNDO表空间管理维护总结
数据库·oracle·undo表空间·undo表空间管理·undo表空间管理维护
布莱克60512 小时前
数据库索引分类:数据结构、物理存储与逻辑角度详解
数据结构·数据库