`
sunxboy
  • 浏览: 2828102 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

MongoDB Shell 常用操作

 
阅读更多

数组查询

数组查询

MongoDB 中有子文档的概念,一个文档中能方便的嵌入子文档,这与关系性数据库有着明显的不同,在查询时,语法有一些注意点。

例子代码,假如我们的一个集合(tests)中存在标签键,有如下模式:

tags:[ObjectId]
查询含有某个标签 ID 的文档
db.tests.find({tags: tagId});
我现在有一组标签 tagIds,即是数组,需要查询含有该数组中任一元素的文档,此时需要用到 $in 操作符
db.tests.find({tags:{$in: tagIds}});
如需唯一匹配该数组,与通常查询无异
db.tests.find({tags: tagIds});
如不考虑顺序关系影响,即同时含有 tagIds 中的每个元素,用 $all
db.tests.find({tags:{$all: tagIds}});
 

 MongoDB数据导出及导入

MongoDB 数据导出及导入

我目前用到的分别是 mongodump 和 mongorestore,他们语法挺相似。

导出

 

mongodump --host localhost:27017/data/backup/csser.com/csser.3-9/
表示将当前数据库导出到 csser.3-9 目录中去,导入用 mongorestore 即可恢复。

 

导入

 

mongorestore --host localhost:27017/data/backup/csser.com/csser.3-9/
表示将 csser.3-9 目录下的数据导入到 MongoDB 中。

 

 安全停止并退出MongoDB

安全停止并退出 MongoDB

无论如何都要避免直接 kill -9 MongoDB 进程,如需正常安全的退出,向进程发送 SIGINT 或 SIGTERM 信号,如:

 

$ sudo kill -2 pid // SIGINT// 或
$ sudo kill pid // SIGTERM

 

 查看集合占用空间

查看集合占用空间

 

> db.sessions.dataSize()22658540

 

 监控和释放MongoDB占用的内存

监控和释放 MongoDB 占用的内存

查看内存使用情况:

 

PRIMARY>use csser
switched to db csser
PRIMARY> db.serverStatus().mem
{"bits":64,"resident":82,"virtual":5366,"supported":true,"mapped":2463,"mappedWithJournal":4926}
释放内存:

 

 

db.runCommand({closeAllDatabases:1})

 

 查看MongoDB连接数

查看 MongoDB 连接数

 

> db.serverStatus().connections
{"current":10,"available":809}

 

 进入Shell

进入 Shell

通过 mongo 命令连接数据库后,会自动进入 MongoDB Shell,默认连接的是 test 数据库,进行如下操作了解 Shell 基本指令:

> help
db.help()#查看 db 方法
db.mycoll.help()#查看集合方法
rs.help()#查看 replica set 方法
help admin                   #管理员帮助
help connect                 #连接数据库帮助
help keys                    #快捷键帮助
help misc                    #了解 misc 
help mr                      #mapreduce

show dbs                     #打印本服务器存在的数据库名称列表
show collections             #打印当前数据库的集合列表
show users                   #打印当前数据库的用户
show profile                 #打印 1s 内的 system.profile
show logs                    #打印 logger 名称
show log [name]#打印内存中最新的一条日志记录,[name] 默认为 'global'use<db_name>#切换数据库
db.foo.find()#列出集合 foo 中的对象列表
db.foo.find({ a :1})#列出集合 foo 中满足条件 a== 1 的对象列表
it                           #查看 find 返回列表的其余部分DBQuery.shellBatchSize = x   #设置 shell 默认显示的项的个数exit#退出 mongodb shell
MongoDB shell 内嵌了 Javascript 解析器,所以可以在其中书写 Javascript 代码。

 连接数据库

连接数据库

mongo [options][db address][文件名(以.js结尾)]

db address 可以只指定数据库名(比如:csser),此时连接本地数据库csser。

也可以这样:192.169.0.5:27018/csser,表明连接192.169.0.5服务器27018端口的csser数据库,端口号可以省略,默认为27017。

如果指定文件名,在不指定 --shell 参数的情况下,进程在执行完这些js文件之后会自动退出,文件名必须以.js结尾。

查看 MongoDB 版本:

 

mongo --version

在运行 mongo 命令时不自动连接数据库:

 

 

mongo --nodb
分享到:
评论

相关推荐

    MongoDB Shell 命令实例总结【进阶篇】

    主要介绍了MongoDB Shell 命令,结合实例形式总结分析了MongoDB数据库常用的查询、更新、插入、集合、函数等相关操作技巧与注意事项,需要的朋友可以参考下

    mongodb常用命令.txt

    在centos7下安装部署mongodb分片+副本集群常用命令整理,内容包含,安装、配置、启动、访问shell终端等命令

    MongoDB的mongo shell常用操作方法及操作脚本笔记

    mongo shell即相当于SQL语句在关系型数据库中的作用,MongoDB使用JavaScript作为shell操作命令,这里我们就来整理MongoDB的mongo shell常用操作方法及操作脚本笔记

    常用的MongoDB操作.doc

    本文整理了常用的MongoDB操作,涉及mongo-shell、pymongo,既有运维层面也有应用层面,内容有浅有深

    深入云计算 MongoDB管理与开发实战详解pdf.part1

    15.2 Java常用操作 15.2.1 Java对MongoDB的操作实例 15.2.2 对用户的操作 15.2.3 对集合的操作 15.2.4 对索引的操作 15.3 Java高级查询 15.3.1 通过游标获取所有的文档 15.3.2 比较运算符 ...

    MongoDB_Golang.zip

    driver这两个比较常用的MongoDB基础库,做了连接池初始化,model层服务封装,提供:初始化MongoDB连接池复用, MongoDB集合(类似MySQL的数据表)的增、删、改、查,事务、管道操作、聚合操作、mongoShell原生命令...

    深入云计算 MongoDB管理与开发实战详解pdf.part2

    15.2 Java常用操作 15.2.1 Java对MongoDB的操作实例 15.2.2 对用户的操作 15.2.3 对集合的操作 15.2.4 对索引的操作 15.3 Java高级查询 15.3.1 通过游标获取所有的文档 15.3.2 比较运算符 ...

    mongodb学习手册

    MongoDB学习手册 说明 一、 Mongodb简介 二、 MongoDB特性 适用场景: 不适用场景: 三、 MongoDB的工作方式 四、 MongoDB的下载 五、 MongoDB的安装 ...十四、 常用DBA操作 十五、 图形化管理工具

    实验四:NoSQL和关系数据库的操作比较

    (2)熟练使用4种数据库操作常用的 Shell命令。 (3)熟悉4种数据库操作常用的Java API。 A.4.2实验平台 (1)操作系统:Linux(建议Ubuntu 16.04)。(2)Hadoop版本:2.7.1。 (3)MySQL版本:5.7.15。(4)HBase版本:1.1.2。...

    MongoDB使用小结 一些常用操作分享

    本文整理了一年多以来我常用的MongoDB操作,涉及mongo-shell、pymongo,既有运维层面也有应用层面,内容有浅有深,这也就是我从零到熟练的历程,需要的朋友可以参考下

    mongodb使用心得简单总结

    1.mongodb特性 1)mongo是一个面向文档的数据库,它集合了nosql和sql数据库两方面的特性。 2)所有实体都是在首次使用时创建。 3)没有严格的事务特性...2.mongo常用操作 1.增删操作 db.user.insert({name:’aaaa’,a

    大数据技术原理及应用课实验4 NoSQL和关系数据库的操作比较 林子雨实验

    2. 熟练使用四种数据库操作常用的Shell命令; 3. 熟悉四种数据库操作常用的Java API。 二、实验平台 1. 操作系统:Linux(建议Ubuntu16.04或Ubuntu18.04); 2. Hadoop版本:3.1.3; 3. MySQL版本:5.6; 4. HBase...

    PHP特级课:LVS负载均衡:搜索引擎.docx

    第31集 Mongodb常用操作 38分钟 第32集 Mongodb高级查询操作 34分钟 第33集 Mongodb高级更改操作 41分钟 第 10 章: Mongodb数据库(下) 第34集 Mongodb性能优化 44分钟 第35集 Mongodb数据库和架构管理 54分钟 第...

    2016012743_王宇轩_大数据实习一.zip

    1.理解四种数据库(MySQL,HBase,Redis,MongoDB)的概念以及不同点;2.熟练使用四种数据库操作常用的Shell命令;3.熟悉四种数据库操作常用的Java API。

    2017黑马Python就业班

    ├─01基础 │ │ 第1节 linux操作系统基础 │ │ 第2节 python语法基础 │ │ 第3节 项目-飞机大战 ...│ 第2节 shell常用工具 │ 第3节 nginx │ 第4节 自动化部署 │ 资料 │ ├─课件和资料 5

    传智博客python就业班

    │ 第2节 shell常用工具.zip │ 第3节 nginx.zip │ 第4节 自动化部署.zip │ 资料.zip │ ├─课件和资料 │ django.zip │ linux基础.zip │ Python基础.zip │ Python核心编程.zip │ shell.zip │ tornado.zip ...

    leetcode账号怎么注销-python-learning:Python语言学习

    MySQL、Redis、MongoDB 等常用数据库,具有数据库开发和设计能力 熟悉缓存技术,如 Memcache、Vanish 熟悉 Linux 操作系统及 shell 编程,熟悉 git 等源代码管理工具 熟悉 TCP/IP、HTTP 等通信协议,具有 socket ...

    springboot学习思维笔记.xmind

    spring-boot-starter-data-mongodb spring-boot-starter-data-rest spring-boot-starter-data-solr spring-boot-starter-freemarker spring-boot-starter-groovy-templates spring-...

Global site tag (gtag.js) - Google Analytics