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的连接对象,获取库,获取表

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

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

查询

删除

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

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

相关推荐
玄同7658 分钟前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
吾日三省吾码9 分钟前
别只会“加索引”了!这 3 个 PostgreSQL 反常识优化,能把性能和成本一起打下来
数据库·postgresql
chian-ocean11 分钟前
百万级图文检索实战:`ops-transformer` + 向量数据库构建语义搜索引擎
数据库·搜索引擎·transformer
小Tomkk30 分钟前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
qq_12498707531 小时前
基于JavaWeb的大学生房屋租赁系统(源码+论文+部署+安装)
java·数据库·人工智能·spring boot·计算机视觉·毕业设计·计算机毕业设计
倒流时光三十年1 小时前
SpringBoot 数据库同步 Elasticsearch 性能优化
数据库·spring boot·elasticsearch
码农小卡拉2 小时前
深入解析Spring Boot文件加载顺序与加载方式
java·数据库·spring boot
怣502 小时前
MySQL多表连接:全外连接、交叉连接与结果集合并详解
数据库·sql
wjhx2 小时前
QT中对蓝牙权限的申请,整理一下
java·数据库·qt
冰暮流星2 小时前
javascript之二重循环练习
开发语言·javascript·数据库