MongoDB常用命令大全

本文详述了MongoDB的各种操作,包括数据库、集合、文档的创建与管理,条件操作符、$type操作符的使用,以及Limit、Skip、排序、索引、聚合、复制、分片、备份与恢复、监控等高级特性。同时,介绍了MongoDB的全文索引、正则表达式、GridFS存储大文件的方法,深入解析了MongoDB的原子操作、索引策略和MapReduce功能。

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

一、数据库相关

1.连接

(1)完整

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

(2)使用默认端口

mongodb://localhost

(3)使用shell

mongo

2.查询数据库

(1)查询所有数据库

show dbs

3.创建数据库

use database_name

如果数据库不存在,则创建并切换到该数据库,存在则切换到该数据库

(1)已存在

(2)不存在

可以看到,创建的 test数据库并没有显示,需要插入数据才能显示

4.删除数据库

先切换到指定数据库,然后执行以下命令

db.dropDatabase()

二、集合相关

1.创建集合

切换到指定数据库,然后执行如下命令

db.createCollection(name, options)

 说明:

name 要创建的集合名称,可选参数,指定有关内存大小及索引的选项

options参数:capped如果为true则创建固定集合(有着固定大小的集合);size为固定集合指定一个最大值,如果capped为true需要指定该字段;max 指定固定集合中包含文档的最大数量

带参数的集合

插入文档会自动创建集合

 2.查看所有集合

  先切换到指定数据库,然后执行如下命令

show collections

3.删除集合

db.COLLECTION_NAME.drop()

成功删除则返回true,否则返回false 

三、文档相关

1. 插入文档

使用insert()或insertOne()或insertMany()方法插入文档

db.COLLECTION_NAME.insert(document)

 插入单条数据 

db.collection.insertOne(
   <document>,
   {
      writeConcern: <document>
   }
)

插入多条数据 

db.collection.insertMany(
   [ <document 1> , <document 2>, ... ],
   {
      writeConcern: <document>,
      ordered: <boolean>
   }
)

document: 要写入的文档

writeConcern:写入策略,默认为1,即要求默认写操作,0是不要求

ordered:是否按照顺序写入,默认为true,按照顺序写入

2.查询文档

db.COLLECTION_NAME.find(query, projection)
  • query :可选,使用查询操作符指定查询条件
  • projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

pretty()以格式化方法显示文档

3.更新文档

使用update()和save()方法来更新集合中的文档

(1)update()方法

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

参数说明:

  • query : update的查询条件,类似sql update查询内where后面的。
  • update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
  • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
  • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  • writeConcern :可选,抛出异常的级别。

(2)save()方法

save() 方法通过传入的文档来替换已有文档,_id 主键存在就更新,不存在就插入。

db.collection.save(
   <document>,
   {
     writeConcern: <document>
   }
)

参数说明:

  • document : 文档数据。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值