mongoDB快速上手

ops/2024/10/19 0:59:50/

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

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

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

下载完成解压缩

在目下创建data/db文件夹

创建logs/mongo.log

创建mongo.config

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

添加环境变量

安装服务

mongod --config D:\mongodb-win32-x86_64-windows-7.0.5\mongo.config --install --serviceName "mongodb"

打开Windows PowerShell执行命令

启动服务

mongod --dbpath D:\mongodb-win32-x86_64-windows-7.0.5\data

mongodb_50">mongodb增删改查

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

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

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

展示数据库

show dbs

创建数据库

插入数据

插入数据

db.xw.insert({data:"2024"})
多条
db.xw.insertMany({}{})

读取数据

db.xw.findOne()或find()  加pretty()可以美化打印

更新数据

db.xw.updata({data:"2024"},{data:"2222"})

删除数据

db.xw.remove({data:"2024"})

删除集合

db.xw.drop()

MongoDB的ID

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

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

查询

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

db.xw.find({})

查询url小于等于10的

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

查询url是否存在 1 3 4

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

存在id的

db.xw.find(id:{$exists:true}})

不显示_id,显示url数据

db.xw.find({},{_id:0,url:1})

Python操作MongoDB

安装包

pip install pymongo
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({})

http://www.ppmy.cn/ops/119900.html

相关文章

Redis中String类型的常用命令(append,getrenge,setrange等命令)

Redis----String命令 前言.常见的String存储类型. 常见命令1. set 命令2. get 命令3. mget命令与mset命令4. setnx命令5. setex与psetex命令6. incr与incrby与incrbyfloat命令7. decr与decrby命令8. append命令9. getrange和setrange命令10. strlen命令. 前言. 常见的String存…

51单片机系列-串口(UART)通信技术

🌈个人主页: 羽晨同学 💫个人格言:“成为自己未来的主人~” 并行通信和串行通信 并行方式 并行方式:数据的各位用多条数据线同时发送或者同时接收 并行通信特点:传送速度快,但因需要多根传输线&#xf…

陶瓷4D打印有挑战,水凝胶助力新突破,复杂结构轻松造

大家好!今天要和大家聊聊一项超酷的技术突破——《Direct 4D printing of ceramics driven by hydrogel dehydration》发表于《Nature Communications》。我们都知道4D打印很神奇,能让物体随环境变化而改变形状。但陶瓷因为太脆太硬,4D打印一…

某大型公园定岗定编项目成功案例纪实

某大型公园定岗定编项目成功案例纪实 ——优化人力配置,实施灵活化人员调整策略,解决忙闲不均问题 【客户行业】文旅行业;事业单位;公园 【问题类型】定岗定编 【客户背景】 某大型公园随着上级政策的改变,公园取…

(详细、重点)iOS开发与前端开发的相同点和不同点 20个

iOS开发和前端开发都是在软件开发领域中非常重要的技术方向,它们有一些相似之处,但也有很多不同之处。以下是对它们的相同点和不同点的详细解释: 相同点 编程基础: 两者都需要扎实的编程基础,理解数据结构、算法、面向…

在PC端连接苹果手机(iPhone)时,即使已经开启了开发者模式(开发者权限),但仍然无法成功连接,是什么原因?

目录 1. 缺少信任设备授权 2. USB线或端口问题 3. 没有安装正确的驱动程序 4. Apple Mobile Device 服务未启动(适用于 Windows) 5. 开发者选项中的设置问题 6. 防火墙或杀毒软件阻止 7. USB 限制功能已开启 8. 软件版本不兼容 9. iPhone处于恢…

合并代码讲解

第一步,为了定义链表的结构,需要创建一个节点结构体。 typedef struct lnode {int data; // 节点存储的数据struct lnode *next; // 指向下一个节点的指针 } lnode, *linklist;解释: 此结构体lnode代表链表的节点,包含一个整数型数据data和一…

Vue2配置环境变量的注意事项

在实际开发中时常会遇到需要开发环境与生产环境中一些参数的替换,为了方便线上线下环境变量切换可以利用node中的process进行环境变量管理 实现步骤如下: 1.在 根目录 新增环境文件 .env.development 和 .env.production 注意文件名称保持一致( 需要强调的是文件中的变量名切…