MongoDB中一行数据称为文档 一行数据是一行json数据 MongoDB不支持外键 MongoDB自带 Id _id
查看所有的数据库
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的值,进行查询的优化以_开头的字段都是系统域