mongodb(笔记向,有点乱哈)

基于分布式文件存储的数据库,c++语言,介于关系与非关系数据库之间的产品。非关系数据库中功能最丰富,最像关系数据库的,存储比较复杂的数据类型。

语法有点类似于面向对象的查询语言,几乎可以实现类似数据库单表查询的绝大部分功能,支持建索引提高查询效率

MongoDB安装,略过

sql概念 mongodb概念 说明
database database 数据库
table collection 数据库表/集合
row document 数据行/文档
column field 列/字段
index index 索引
table joins 表关联,mongodb不支持
primary key primary key 主键,MongoDB自动将_id字段设置为主键

不支持表关联查询

会自动将_id设为主键

和mysql做一下对比

sql dadabase 数据库 table表 row行 column列

mongodb database colletion集合 document文档 filed字段

查看当前所有数据库

show dbs

切换数据库

use admin

怎么感觉和mysql差不多

创建数据库和表

切换数据不会自动创建,要插入数据才会自动创建

切换数据库,并新增数据,就自动创建了数据库

删除表

db.表名.drop()

删库

切到你要删除的库,db.dropDatabase ()

新增

db.表名.insert({})

db.表名.save

查找所有

db.表名.find

更新数据

全都是json对象

db.表名.update({条件},{set:{修改后的字段值}}) # 更新id=1的数据,age=35,如果age字段不存在,会默认新增该字段 set似乎有点关键

db.表名.update({条件},{修改后的字段值}) 但是其他字段都会删除掉

一般加上就行了 $set

db.user.remove({id:1})根据id删除

db.user.remove({}) 删除所有

#查询语句结构

db.user.find(query,fields)

query 是查询的条件

fields 是查询的字段

查询年龄在25-35之间的数据

> db.user.find({age:{lte:35,gte:25}})

查询年龄<=35,且id>=3的

> db.user.find({age:{lte:35},id:{gte:3}})

查询id=1 or id=2的数据

> db.user.find({$or:{id:1},{id:2}})

分页查询 skip()跳过几条数据,可以理解为从第几条开始查询 limit()查询的条数

> db.user.find().skip(2).limit(2)

按照年龄倒序排 -1倒序排列 1 正序排列

> db.user.find().sort({age:-1})

查看索引 说明:1表示升序创建索引,-1表示降序创建索引。

> db.user.getIndexes()

创建索引 按照年龄升序创建索引

> db.user.createIndex({age:1})

#删除索引

db.user.dropIndex("age_1")

#或者,删除除了_id之外的索引

db.user.dropIndexes()

#创建联合索引

db.user.createIndex({'age':1, 'id':-1})

#查看索引大小,单位:字节

db.user.totalIndexSize()

api操作

导包

总体思路(感觉比es还简单,反正很简单)

先获取mongodb的连接对象,获取库,获取表

新增:获取要操作的数据库表,构造新增对象,然后插入数据

修改:构造修改数据,修改数据

查询

删除

获取连接对象,操作方法即可。

视频太无聊了,妈呀真的坚持不住,最后还是直接看文档,快速过了下脑

相关推荐
这个DBA有点耶28 分钟前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构
安_1 小时前
RAG的向量数据库:为LLM提供语义搜索能力
数据库
喜欢的名字被抢了2 小时前
程序出问题怎么查,以及如何让它不掉线
java·运维·数据库
这个DBA有点耶2 小时前
3000万个应用共享一套数据库:多租户“逻辑表”架构是如何做到的?
数据库·架构·dba
测试运维日常笔记3 小时前
Oracle 数据库连接认证方式详解
数据库·oracle
strength_zhou20133 小时前
Python检查MongoDB索引列中的字段是否存在
python·mongodb
ClouGence3 小时前
PostgreSQL 同步到 Iceberg:开源、私有部署与 SaaS 方案对比
数据库·postgresql·开源
这个DBA有点耶4 小时前
DBA进阶之路:从“修数据库”到“管架构债”
数据库·架构·dba
ACP广源盛139246256734 小时前
WAIC2026 国产超节点算力浪潮下@ACP#IX9104 在算力矩阵中的定位与落地场景
大数据·数据库·人工智能·嵌入式硬件·线性代数·矩阵
珠***格5 小时前
通信链路全打通:西格电力四可装置的 4G/5G + 加密认证技术详解
大数据·数据库·分布式·5g·架构·能源