MongoDB shell 基本操作

2021/11/17 19:09:59

本文主要是介绍MongoDB shell 基本操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

MongoDB shell 基本操作

目录
  • MongoDB shell 基本操作
    • MongoDB bin目录结构
    • MongoDB Shell 客户端
    • 数据库 CURD 操作
      • 查看当前数据库
      • 查看数据库状态信息
      • 查看所有数据库
      • 切换数据库
      • 创建数据库
      • 删除数据库
    • 集合 CURD 操作
      • 创建集合
      • 显示集合
      • 删除集合
    • 插入文档
      • insertOne 函数:集合插入单个文档
      • insertMany 函数:集合插入多个文档(数组)
      • insert 函数:集合插入1个或多个文档(数组)
      • save 函数:更新集合文档
    • 删除文档
      • deleteOne 函数
      • deleteMany 函数
      • remove 函数

MongoDB bin目录结构

  • mongo:MongoDB 客户端程序
  • mongod:MongoDB 服务器程序

MongoDB Shell 客户端

[root@node-01 mongodb-4.2.7]# bin/mongo --host node-01  -u "test" -p "123" --authenticationDatabase 
> db # 显示连接的当前数据库
test
  • 启动 Shell 客户端时会连到 MongoDB 服务器的 test 数据库,并将数据库连接赋值给全局变量 db。这个变量是通过 shell 访问 MongoDB 的主要入口点
  • shell 客户端本质上是一个 JavaScript 解释器,可以解释执行 JavaScript 代码

数据库 CURD 操作

查看当前数据库
> db 
test
查看数据库状态信息
> db.stats()
查看所有数据库
> show dbs
> show databases

仅显示非空数据库

切换数据库
> use info
创建数据库
> use test

MongoDB 中不需要显式的创建数据库,直接使用 use 切换数据库,如果数据库不存在,则创建数据库,否则切换到指定数据库

删除数据库
> db.dropDatabase()

集合 CURD 操作

创建集合
> db.createCollection("test")

注:在 MongoDB 中不需要显式的创建集合,在集合中插入数据,就会生成集合。

显示集合
> show collections
> show tables
删除集合
> db.test.drop()

插入文档

insertOne 函数:集合插入单个文档
db.collection.insertOne(
	<document>,
	{
		writeConcern: <document>
	}
)
  • collection:需要替换成真正的集合名称
  • document:需要插入的数据文档
  • writeConcern:安全写级别(目前不考虑,有默认级别)

注:如果 _id 相同,会抛出错误

insertMany 函数:集合插入多个文档(数组)
db.collection.insertMany(
	[ <document 1> , <document 2>, ... ], 
    {
		writeConcern: <document>,
		ordered: <boolean> 	
    }
 )
  • collection:需要替换成真正的集合名称
  • document:需要插入的数据文档
  • writeConcern:安全写级别(目前不考虑。有默认级别)
  • ordered:指定 mongodb 实例应该执行有序插入还是无序插入(默认值为true)
insert 函数:集合插入1个或多个文档(数组)
db.collection.insert(
	<document or array of documents>, 
	{
		writeConcern: <document>,
		ordered: <boolean> 
	}
 )

save 函数:更新集合文档
db.collection.save(
	<document>, 
	{
		writeConcern: <document>
	}
 )

使用 save 的时候,如果插入文档的_id在集合中不存在, 就是插入数据,否则更新数据

删除文档

deleteOne 函数
db.collection.deleteOne(
   <filter>,
   {
      writeConcern: <document>,
      collation: <document>
   }
)
deleteMany 函数
db.collection.deleteMany(
   <filter>,
   {
      writeConcern: <document>,
      collation: <document>
   }
)
remove 函数

remove()方法可以说是deleteOne()、deleteMany()的集合

db.collection.remove(
    <query>,
    <justOne>
)
  • query:筛选符合条件的文档删除
  • justOne:boolean 类型,默认为 false,即删除所有匹配删除标准的文档。若要仅删除一个文档,将其设置为 true

MongoDB 删除文档,磁盘空间不会释放。可以使用 db.repairDatabase() 释放磁盘空间。

官方推荐使用 deleteOne 和 deleteMany



这篇关于MongoDB shell 基本操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程