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

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

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

查询

删除

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

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

相关推荐
吱吱鼠叔19 分钟前
MATLAB数据文件读写:2.矩阵数据读取
数据库·matlab·矩阵
掘根30 分钟前
【MySQL】Ubuntu环境下MySQL的安装与卸载
数据库·mysql·centos
知识分享小能手1 小时前
mysql学习教程,从入门到精通,SQL 修改表(ALTER TABLE 语句)(29)
大数据·开发语言·数据库·sql·学习·mysql·数据分析
暮毅1 小时前
Django对接支付宝沙箱环境(2024年9月新测有效)
数据库·django
fat house cat_1 小时前
mysql-索引笔记
数据库·mysql
He guolin2 小时前
【MySQL】数据库基础知识
数据库·mysql
AitTech2 小时前
深入理解C#中的TimeSpan结构体:创建、访问、计算与格式化
开发语言·数据库·c#
我焦虑的编程日记2 小时前
【RabbitMQ】RabbitMQ学习
java·数据库·java-ee
晨曦启明6343 小时前
MySQL表操作(进阶)
数据库