MongoDB常用的命令(2)

show dbs;–查看所有库

use 库名;–创建库,没有该库就创建库,有就切换为该库

db;–查看当前使用的库

db.dropDatabase();–删除当前库

db.createCollection(name, options);–创建集合
name: 要创建的集合名称
options: 可选参数, 指定有关内存大小及索引的选项
参数说明:
options 可以是如下参数:

字段类型描述
capped布尔(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。
autoIndexId布尔(可选)如为 true,自动在 _id 字段创建索引。默认为 false。
size数值(可选)为固定集合指定一个最大值(以字节计)。如果 capped 为 true,也需要指定该字段。
max数值(可选)指定固定集合中包含文档的最大数量。

show collections;–查看都有哪些集合
show tables;–查看都有哪些集合
db.getCollectionInfos();–查看都有哪些集合

db.集合名.drop();–删除指定集合

db.集合名.insert(document);–向集合中插入文档,文档需要时json格式,如db.user.insert({“name”:“1”});

db.集合名.update(
,
,
{
upsert: ,
multi:
}
)
参数说明:
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如 , , ,set…)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入该数据,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
例:
db.student.update({“name”:“1”},{“age”:“18”});–将名为gqc的第一条数据年龄改为18,注意:原有数据中其他列的值都会改为空
db.student.update({“name”:“1”},{KaTeX parse error: Expected 'EOF', got '}' at position 17: …et:{"age":"18"}}̲);--将名为1的第一条数据年…set:{“age”:“18”}},{upsert:true});–更改名为1的数据,如果没有则新增
db.student.update({“name”:“1”},{$set:{“age”:“18”}},{multi:true});–将名为1的所有数据都更改

db.集合名.remove(
,

)
参数说明:
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档。
db.集合名.remove({});–删除所有数据

db.集合名.find(query);–条件查询
db.集合名.find(query).pretty();–格式化查询
db.集合名.find(query).count();–查询有多少条数据

MongoDB 与 RDBMS Where 语句比较
如果你熟悉常规的 SQL 数据,通过下表可以更好的理解 MongoDB 的条件语句查询:

操作格式规范RDBMS中的类似语句
等于{<key>:<value>}db.col.find({"name":"gqc"}).pretty()where name = ‘gqc’
小于{<key>:{$lt:<value>}}db.col.find({"age":{$lt:20}}).pretty()where age < 20
小于或等于{<key>:{$lte:<value>}}db.col.find({"age":{$lte:20}}).pretty()where age <= 20
大于{<key>:{$gt:<value>}}db.col.find({"age":{$gt:20}}).pretty()where age > 20
大于或等于{<key>:{$gte:<value>}}db.col.find({"age":{$gte:20}}).pretty()where age >= 20
不等于{<key>:{$ne:<value>}}db.col.find({"age":{$ne:20}}).pretty()where age != 20

db.集合名.find({key1:value1, key2:value2}).pretty();–多个条件的And查询
例:db.user.find({“name”:“gqc”,“age”:18});–类似于where name=‘gqc’ and age=18

db.col.find({
KaTeX parse error: Expected 'EOF', got '}' at position 42: …ey2:value2} ] }̲).pretty();--多个…or:[{“name”:“gqc”},{“name”:“xk”}]});–类似于where name=‘gqc’ or name=‘xxk’

and和or连用,例:
db.col.find({“age”: {$gt:20}, $or: [{“name”: “xk”},{“sex”: 1}]}).pretty();–类似于where age>20 and(name=‘xk’ or sex=1)

db.集合名.find().skip(开始坐标),limit(显示条数);–分页查询,开始坐标的公式应为(页数-1)*条数

db.集合名.find().sort({排序列:排序方式});–将集合排序,排序方式1为升序,-1为降序

日期使用:
new Date();–当前时间
ISODate();–当前时间
注:new Date();和ISODate();获得的当前时间是格林尼治时间,与我们相差8小时
ISODate(“年-月-日 时:分:秒”);–指定日期时间

本人大概敲了一边

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

  T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值