MongoDB Shell 常用操作
来源:互联网 发布:2年java掌握的技术 编辑:程序博客网 时间:2024/05/16 09:46
数组查询
数组查询
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数据导出及导入
我目前用到的分别是 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 csserswitched to db csserPRIMARY> 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 基本指令:
> helpdb.help() #查看 db 方法db.mycoll.help() #查看集合方法rs.help() #查看 replica set 方法help admin #管理员帮助help connect #连接数据库帮助help keys #快捷键帮助help misc #了解 misc help mr #mapreduceshow dbs #打印本服务器存在的数据库名称列表show collections #打印当前数据库的集合列表show users #打印当前数据库的用户show profile #打印 1s 内的 system.profileshow 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 shellMongoDB 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
4 0
- MongoDB Shell 常用操作
- Mongodb shell 常用操作
- MongoDB Shell 常用操作命令
- MongoDB Shell 常用操作命令
- MongoDB Shell 常用操作命令
- 【mongodb系统学习之八】mongodb shell常用操作
- MongoDB mongo shell,常用的操作命令,GUI客户端
- MongoDB的mongo shell常用操作方法及操作脚本笔记
- MongoDB 常用Shell命令
- mongodb常用shell
- MongoDB常用shell命令
- MongoDB shell操作
- mongoDB的shell操作
- MongoDB shell 操作
- shell操作mongodb
- MongoDB shell操作
- MongoDB shell操作
- MongoDB shell操作
- [考研系列之数据结构]线性表之链表
- 蓝桥杯 格子刷油漆
- ERP系统的主要分类及区别
- textview 单行显示且最多一行显示字数其余用省略号代替
- 计算机应用知识,什么是Ose.exe程序解析?
- MongoDB Shell 常用操作
- sqlite常用命令
- Transportation-POJ 1040
- 02-保存会出现builder窗口,导致Myeclipse运行缓慢解决方法
- 解决注册.net4.0时出现Changing IIS ApplicationHost.config
- 14.5 instanceof 与 Class的等价性
- c# 截取字符串和分割字符串
- android 中的编码和加密
- android移植笔记(1)