MongoDB后台shell语句(一)

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: MongoDB后台shell语句(一)


MongoDB数据库基本语句

通过shell连接


1.连接数据库 ./mongo

2.创建数据库 (如果数据库不存在,则创建数据库,否则切换到指定数据库。)

> use rain
switched to db rain
> db
rain
>


3.查询所有数据库

> show dbs
admin     0.000GB
local     0.000GB
rain      0.000GB
> 


4.删除数据库

//切换数据库
> use rain
switched to db rain
//执行删除命令
> db.dropDatabase()
{ "dropped" : "rain", "ok" : 1 }
//验证是否删除成功
> show dbs
admin     0.000GB
local     0.000GB
>


5.删除集合

> use rain
switched to db rain
> show tables
col
dongaotest
rain
> db.col.drop()
true
> 


6.插入数据

//给集合test插入数据,若该集合不在该数据库中, MongoDB 会自动创建该集合
> db.test.insert({title:'测试',descript:'测试插入数据',author:'rain'})
WriteResult({ "nInserted" : 1 })
> show tables
dongaotest
rain
test
//test 为新增的
//查看已插入的文档
> db.test.find().pretty()
{
    "_id" : ObjectId("59b83e5437ced1ba21580d15"),
    "title" : "测试",
    "descript" : "测试插入数据",
    "author" : "rain"
}
> 
//也可以将数据定义为变量插入
> document=({"title":'测试变量插入',"descript":'还是测试',"tags":['test','test insert','mongodb'],"author":'rain'})
{
    "title" : "测试变量插入",
    "descript" : "还是测试",
    "tags" : [
        "test",
        "test insert",
        "mongodb"
    ],
    "author" : "rain"
}
> db.test.insert(document)
WriteResult({ "nInserted" : 1 })
>


7.更新文档

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


参数说明:

  • query : update的查询条件,类似sql update查询内where后面的。
  • update : update的对象和一些更新的操作符(如<script type="math/tex" id="MathJax-Element-7">,</script>inc…)等,也可以理解为sql update查询内set后面的
  • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是 false,不插入。
  • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  • writeConcern :可选,抛出异常的级别。
> db.test.update({'title':'测试'},{$set:{'title':'MongoDB 测试'}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> 
  • 只更新第一条记录:
    db.col.update( { “count” : { $gt : 1 } } , { $set : { “test2” : “OK”} } );
  • 全部更新:
    db.col.update( { “count” : { $gt : 3 } } , { $set : { “test2” : “OK”} },false,true );
  • 只添加第一条:
    db.col.update( { “count” : { $gt : 4 } } , { $set : { “test5” : “OK”} },true,false );
  • 全部添加加进去:
    db.col.update( { “count” : { $gt : 5 } } , { $set : { “test5” : “OK”} },true,true );
  • 全部更新:
    db.col.update( { “count” : { $gt : 15 } } , { $inc : { “count” : 1} },false,true );
  • 只更新第一条记录:
    db.col.update( { “count” : {$gt : 10 } } , { $inc : { “count” : 1} },false,false );
db.test.save(
   <document>,
   {
     writeConcern: <document>
   }
)


参数说明:

  • document : 文档数据。
  • writeConcern :可选,抛出异常的级别。

8.删除文档

db.test.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)


参数说明:

  • query :(可选)删除的文档的条件。
  • justOne : (可选)如果设为 true 或 1,则只删除一个文档。
  • writeConcern :(可选)抛出异常的级别。
> db.test.remove({"title":'MongoDB 测试'})
WriteResult({ "nRemoved" : 1 }) //删除一条数据 
//删除所有
>db.test.remove({})


9.查询数据

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


MongoDB 与 RDBMS Where 语句比较

操作 格式 范例 RDBMS中的类似语句
等于 {< key>:< value>} db.test.find({“by”:”菜鸟教程”}).pretty() where by = ‘菜鸟教程’
小于 {< key>:{$lt:< value>}} db.test.find({“likes”:{$lt:50}}).pretty() where likes < 50
小于或等于 {< key>:{$lte:< value>}} db.test.find({“likes”:{$lte:50}}).pretty() where likes <= 50
大于 {< key>:{$gt:< value>}} db.test.find({“likes”:{$gt:50}}).pretty() where likes > 50
大于或等于 {< key>:{$gte:< value>}} db.test.find({“likes”:{$gte:50}}).pretty() where likes >= 50
不等于 {< key>:{$ne:< value>}} db.test.find({“likes”:{$ne:50}}).pretty() where likes != 50


MongoDB AND 条件

>db.test.find({key1:value1, key2:value2}).pretty()


MongoDB OR 条件

>db.test.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()


参考网址

1.http://www.runoob.com/mongodb/mongodb-operators.html


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
5月前
|
关系型数据库 Shell PHP
PHPCMS后台低权限拿SHELL
前提是需要有管理专题的权限 测试版本 PHPCMS程序版本:Phpcms V9.5.6 Release
|
4月前
|
存储 JSON 分布式计算
MongoDB【部署 01】mongodb最新版本6.0.5安装部署配置使用及mongodb-shell1.8.0安装使用(云盘分享安装文件)
MongoDB【部署 01】mongodb最新版本6.0.5安装部署配置使用及mongodb-shell1.8.0安装使用(云盘分享安装文件)
154 0
|
30天前
|
Shell Linux C++
【Shell 编程设计】 编写自己的清理后台的Shell脚本
【Shell 编程设计】 编写自己的清理后台的Shell脚本
31 1
|
3月前
|
NoSQL Shell MongoDB
MongoDB Shell工具:mongosh的使用
MongoDB Shell工具:mongosh的使用
164 0
|
3月前
|
Shell 网络安全
在Shell中,后台进程管理
在Shell中,后台进程管理
36 4
|
Java Shell Linux
LINUX SHELL脚本的if语句实在是诡异
LINUX SHELL脚本的if语句实在是诡异
74 0
|
Shell Linux
Shell脚本for、while循环语句及case分支语句
Shell脚本for、while循环语句及case分支语句
130 1
|
Shell 测试技术 数据安全/隐私保护
shell编程之条件语句(条件测试、if语句、case语句)(下)
要使Shell脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0时表示成功,否则(非0值)表示失败或异常。 使用专门的测试工具——test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为0表示条件成立)。 使用test测试命令时,有以下两种形式:
128 0
|
Java Shell 测试技术
shell编程之条件语句(条件测试、if语句、case语句)(上)
要使Shell脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0时表示成功,否则(非0值)表示失败或异常。 使用专门的测试工具——test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为0表示条件成立)。 使用test测试命令时,有以下两种形式:
167 1
|
Shell
【shell】判断语句、循环语句
文章目录 前言 一、内容 二、判断语句 2.1 if 判断
83 0
【shell】判断语句、循环语句