MongoDB---基本命令
数据库
查看所有数据库
show dbs 或 show databases # 查看所有数据库
db # 查看当前所在数据库名
使用数据库
use 数据库的名字 # 使用数据库,如果没有则新建一个,但是新建的那个并不会显示在数据库中,需要添加信息他才会显示
删除数据库
db.dropDatabase() # 删除当前数据库
集合
创建集合
db.createCollection(name, options) # 创建集合,类似数据库中的表,其实在MongoDB中插入文档时会自动生成与数据库同名的集合
options 为可选参数
a.
capped – (可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。
当该值为 true 时,必须指定 size 参数。
b.
size – (可选)为固定集合指定一个最大值,即字节数。
如果 capped 为 true,也需要指定该字段。
c.
max – (可选)指定固定集合中包含文档的最大数量。
查看集合
show tables 或 show collections # 查看数据库中的集合
删除集合
db.集合名.drop() # 删除集合
文档
插入文档
db.集合名.insert(document) # 插入文档,若插入的数据主键已经存在,则会抛出错误,并不会储存
db.集合名.insertOne(document) # 插入一条文档,若插入的数据主键存在,则更改数据,不存在就存入
db.集合名.insertMany(documents) # 插入多条文档
如果集合名 MongoDB 中没有,那么MongoDB 会自动创建该集合并插入文档
当然,我们在 MongoDB 中也可以使用变量
更改文档
db.collection.update(
query,
update,
{
upsert: boolean,
multi: boolean,
writeConcern: document
}
) # 更新文档,如果_id不存在,更改失败
其中参数含义
a.
query : update的查询条件,类似sql update查询内where后面的。
b.
**update** : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
c.
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
d.
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
e.
writeConcern :可选,抛出异常的级别。
db.collection.save(
document,
{
writeConcern: document
}
) # 更改文档,_id存在替换文档,不存在就插入
删除文档
db.collection.remove(
,
{
justOne: ,
writeConcern:
}
) # 删除文档
其中参数含义
a.
query :(可选)删除的文档的条件。
b.
justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
c.
writeConcern :(可选)抛出异常的级别。
db.collection.remove({}) # 删除所有文档
查询文档
db.collection.find(query, projection) # 查询文档
其中参数的含义
a.
query :可选,使用查询操作符指定查询条件
b.
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
db.collection.find().pretty() # 使查询的文档更易阅读
db.collection.find({key1:value1, key2:value2}) # MongoDB AND 条件
db.collection.find(
{
$or: [
{key1: value1}, {key2:value2}
]
}
) # MongoDB OR 条件
相关文章
- 十个正确使用 Redis 的技巧
- 用数据科学搭建一个实时推荐引擎
- sersync:基于 rsync + inotify 实现数据实时同步
- 找到 mysql 数据库中的不良索引
- Linux 上从 MySQL 迁移到 MariaDB 的简单步骤
- 诺奖得主Wilczek:人工智能正在解放我们的大脑
- 《ELK Stack权威指南(第2版)》一2.1.1 标准输入
- 如何配置 MongoDB 副本集
- 《ELK Stack权威指南(第2版)》一2.3 过滤器配置
- 加密:在规模上揭示端到端私人推理的陷阱
- CVPR 2021 出自港中文,"对抗变换"提高对抗样本的可迁移性
- 《计算机网络传输层 TCP协议》
- 访问kubernetes CRD的几种方式
- 堡垒机访问多个数据库服务器如何操作?堡垒机访问数据库服务器失败怎么办?
- 关于MySQL索引
- 《kafka问答100例 -8》 如果写入`/brokers/topics/{TopicName}`节点之后Controller挂掉了会怎么样
- Spring认证中国教育管理中心-Spring Data MongoDB教程
- 基于无线网关的多功能环境监测杆方案
- 安卓中Serializable 比 Parcelable好在哪?
- 神经网络中的轻量级机器遗忘(CS)