mogodb

use dbname :切换和创建数据库

show dbs :查看所有数据库

db.stats():查看当前数据库信息

db.createCollection("stu"):创建集合(不固定大小),先切数据库

db.createCollection("stu",{capped:True,size:10,max:100}):创建固定大小的集合,

db.dropDatabase():删除数据库,删哪个先切换到哪个数据库下

show collections:查看当前数据库所有集合

db.集合名称.drop():删除集合

创建固定大小的集合db.createCollection("集合名称")
固定大小的集合(当集合存满时,新的数据会覆盖之前的数据)
db.createCollection("集合名称,
{capped:True,
size:10,指集合大小(单位是字节),
max:100指定集合在存储的最大文档数
}
)

size的优先级更高

插入数据:
插入单条数据
db.student.insert({name:'王霞',age:18,gender:1,})
插入多条数据
db.student.insert([{name:'xiaoli',age:19,gender:0},{name:'xiaoqi',age:18,gender:1}])
查看集合中的数据
db.student.find()

插入数据是如果没有指定id,会自动生成一个,也可以自己指定。ID是一个主键也是一个索引

更新数据:
更新前:
{ "_id" : ObjectId("5c2476f6173b783193b0b16c"), "name" : "xiaoqi", "age" : 18, "gender" : 1 }
db.student.update({name:'xiaoqi'},{name:'xiaodong'},{upsert :可选,这个参数的意思是,如果不存在update 的记录,是否插入objNew,true为插入,默认是false,
multi:可选,mongodb 默认是false,
只更新找到的第 一条记录,如果这个参数为true,就把按条件查出来多条记录 全部更新。
})全文档更新,ID不变;

更新后:
{ "_id" : ObjectId("5c2476f6173b783193b0b16c"), "name" : "xiaodong" }

更新前:
{ "_id" : ObjectId("5c2476f6173b783193b0b16b"), "name" : "xiaoli", "age" : 19, "gender" : 0 }
db.student.update({name:'xiaoli'},{$set:{age:3}})局部更新
 更新后:
{ "_id" : ObjectId("5c2476f6173b783193b0b16b"), "name" : "xiaoli", "age" : 3, "gender" : 0 }

save:会根据_id这个字段取集合下查找,如果_id存在,则进行全文档更新,如果不_id存在, 则插入一条新数据
db.集合名称.save(
{id:'','key':'value',....}
)

删除

db.集合名称.remove({key:'value'},{justOne:true})
db.集合名称.drop
db.dropDatabase()

查询

db.集合名称.find()查询所有
db.集合名称.find({'key':'value'})
db.集合名称.findOne({'key':'value'})查询一条

sudo service mongodb start

lt 小于lte 小于等于
gt 大于gte大于等于

多条件查询

查询时间大于100并且演员是李连杰
db.集合名称.find(
{
'times':{$gt:100},
'actors':'李连杰',
}
)

查询时间大于100或者演员是李连杰

db.集合名称.find(
{
or:[{times:{gt:100}},{actor:'李连杰'}]
})

查询时间大于100或者演员是李连杰,并且标题为少年方世玉的文档

db.集合名称.find(
{
or:[{times:{gt:100}},{actor:'李连杰'}],
title:'少年方世玉'
})

范围运算符

db.movie.find({actors:/^李/}) db.movie.find({actors:{$regex:'李'}}) 查询以李开头的演员

$type:只返回符合数据类型的文档

db.集合名称.find({
'key':{$type:'数据类型'}
})

limit:限制返回

db.集合名称.find().limit(3) 查询前3条
db.集合名称.find().skip(2).limit(3) 跳过前2条,查询3条

sort:排序 1:升序 -1:降序

db.集合名称.find().sort({'times':-1}) 以时间降序查询
db.集合名称.find().sort({'times':1}) 以时间升序查询

去重

db.集合名称.distinct(
'actors',{times:{$gte:90}}
)

project:投影 1显示 0不显示 查询想要的字段

db.集合名称.find({},{'title':1})

count:统计

db.movie.count() 查询集合中有几条文档
db.集合名称.find().count()
db.movie.count({actors:'李连杰'})
db.集合名称.find({actors:'李连杰'}).count()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,192评论 2 89
  • MongoDB指令 输入help可以看到基本操作命令: show dbs:显示数据库列表 show collect...
    东海虬髯客阅读 1,684评论 0 3
  • 一、MongoDB简介 1.概述 ​ MongoDB是一个基于分布式文件存储的数据库,由C++语言编写。旨在为WE...
    郑元吉阅读 4,675评论 0 2
  • mongodb特点其一:自动分片:支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器集群定...
    叫我老村长阅读 4,379评论 0 0
  • 简介 MongoDB 是一个基于分布式文件存储的NoSQL数据库 由C++语言编写,运行稳定,性能高 旨在为 WE...
    大熊_7d48阅读 37,826评论 1 9

友情链接更多精彩内容