MongoDB入门(学习笔记)

mac2024-08-10  48

MongoDB中一行数据称为文档 一行数据是一行json数据 MongoDB不支持外键 MongoDB自带 Id _id

MongoDB概念

和mysql一样一个数据库多张表

MongoDB基本操作

查看所有的数据库

show dbs

切换数据库

use 数据库名

当给一个数据库插入数据会自动创建这个数据库

查看表

1.show tables 2.show collections

删除表

db.表名.drop() true 为删除成功

删除数据库

1.先切换到要删除的数据库中:user 数据库名 2.删除数据库:db.dropDatabase()

新增数据

1.db.表名.insert({}); 2.db.表名.save({});

更新数据

db.表名.update( {<query>},//查询条件 {$set:<update>},//更新的数据{key:value} [ upsert:<boolean>,//可选,如果不存在该数据,是否插入,true为插入,默认false不插入 multi:<boolean>,//可选,false只更新查询到的第一条数据,true更新查询到的所有数据 writeConcern:<document>//可选,抛出异常的级别 ] )

删除数据

1.db.表名.remove( <query>,//可选,删除的文档的条件,本人叫它删除查询 { justOne:<boolean>,//可选,false只删除查询到的第一条数据,true删除查询到的所有数据 writeConcern:<document>//可选,抛出异常的级别 } ) 2.db.表名.deleteOne({key:value}) 3.db.表名.deleteMany({})

查询数据

db.表名.find({key:value}).pretty()

查询数据条数

db.表名.find().count()

查询or

db.表名.find({$or:[{key:value},{key:value}]})

分页查询:skip()跳过几条,limit()查询几条

db.表名.find().limit(x).skip(x);

倒序查询:-1倒序、1正序

db.表名.find().sort({key:-1})

索引

查看索引

db.表名.getIndexes()

创建索引

db.表名.createIndex({key:1-1})

删除索引

db.表名.dropIndex(索引名) db.表名.dropIndexs()删除_id以外的索引

创建联合索引

db.表名.createIndex({key:1-1},{key:1-1}...)

查看索引大小、单位:字节

db.表名.totalIndexSize()

执行计划

查看执行计划

查询语句.explain() stage属性对应的值是索引,可以根据stage的值,进行查询的优化

以_开头的字段都是系统域

最新回复(0)