MongoDB自学(4)
超过存储上限或记录条数删除最早的记录:
db.createCollection("集合名",{capped:true,size:1024,max:100})
注解:指定集合名的最大记录条数和最大内存为1MB,超过这两个条件任意之一就会删除最早的数据;
在MongoDB服务器端执行Javascript脚本:\
E.G:db.eval("Function(name){return "hello"+name;}",['refactor'])
输出结果为:hello refactor;
数据库加锁和解锁:加锁:db.fsyncLock()解锁:db.fsyncUnlock()
注意:不能关闭当前shell窗口
获取文档名:E.g: getCollection("文档名")
修改文档名:E.g: db.getCollection('原文档名').renameCollection('结果文档名')
获得数据库里的集合名:db.getCollectionNames()
返回上一个错误和查看完整的错误结果:(暂未明确使用情况,暂定为找语句错误)
db.getLastError()
db.getLastErrorObj()
查看这个MongoDB的IP和接口: db.getMongo()
查看从机:db.getMongo().setSlaveOk()
获取数据库名: db.getName() 等同于db;
查询之前的错误信息: db.getPrevError()
清除错误记录: db.resetError()
获取当前数据库集群的复制集信息: db.getReplicationInfo()
数据库所在系统和数据库信息(????): db.hostInfo()
查询主库的状态: db.isMaster()
停止数据库上操作时间大于三秒的操作: db.currentOp({"active":"teue","secs_running":{"$gt":3},"ns":"/^表名\./"})
查看当前MongoDB支持的所有的命令: db.listCommands()
获取当前数据库各个集合的基本信息: db.pringCollectionStats()
查询服务器信息: db.serverStatus()
修改服务器最大连接数db.serverStatus().connectionsdb{"current":1,"available":818,"totalCreated":NunberLong(6)}
显示当前db信息: db.stats()
显示当前db版本:db.version()
多条件查询: db.集合名.find({age:{$in:[42,22]}})
模糊查询:db.集合名.fing("字段名":/a/) 模糊查询名字里有a的 汉字不需加双引号 name:/a$/显示以a为开头的
可以在命令提示符里加入for循环,
E.G: for(var i =0;i<10;i++){db.list.insert({"name":"a"+i,"age":i+1})} //循环生成
var aa = db.list.find()
while(aa.hasNext()){var name=aa.next().name; var bb=db.booklist.find({'writer':name}); while(bb.hasNext()){printjson(bb.next());}}
注意:其一,hasNext后面需加一对小括号并且注意大小写;其次,注意括号和分号的使用;
journal文件在MongoDB中的作用相当于redo日志文件在oracle中的作用
64位机器上,2.0版本以上默认启动journal,32位机器上2.0版本默认不开启journal
默认输出刷新时间范围"2~~300 journal默认大小:1G左右; 使用smallfiles这个运行时选项可以将journal文件的大小减至128MB大小
两个file,两个view:data file和journal file; shared view 和 private file
两个file是对磁盘而言的,两个view是对内存而言的
MongoDB数据库的读写操作都是在private file上的;
MongoDB自学(4)的更多相关文章
- MongoDB自学笔记2---1.2 初识MongoDB
1.2.1MongoDB简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之 ...
- MongoDB自学笔记1----1.1 NoSQL是什么?
第一章 走进MongoDB 1.1NoSQL是什么? 1.1.1NoSQL简介 对于不了解NoSQL的人都会认为NoSQL为No SQL,即不是SQL.但是这种理解是错误的, ...
- MongoDB自学(3)
MongoDB关系:MongoDB的关系表示多个文档之间在逻辑上的相互联系.文档之间可以通过嵌入和引用来建立联系.关系:1:11:NM:1M:N 嵌入式:{ id:11;name:嘻嘻嘻;addres ...
- MongoDB自学(2)
条件操作符: gt(大于),gte(大于等于),lt(小于),lte(小于等于)E.G:db.People.find({age:{$gt:100}})//查找集合里age大于100的文档 注意:str ...
- mongodb自学
http://www.runoob.com/mongodb/mongodb-databases-documents-collections.html
- MongoDB自学日记3——架构及HA
在对mongoDB的操作有了一定基础后,终于可以扯扯HA和架构这两个高大上的概念了.在这之前当然还得弄清楚mongoDB的Key feature:Sharding. 1. Sharding Shard ...
- MongoDB自学日记2——权限
首先应该明确的是为什么要学MongoDB.OK,如果是仅仅出于对于流行技术的原始兴趣,可能并不能深入学习,还必须有应用需求.刚开始学习MongoDB,因为以前对其它数据库的了解也不是特别深入,所以许多 ...
- MongoDB自学日记1——基本操作
作为一个做底层及后台研发的,最近对NoSQL却产生了浓厚的兴趣,加入了一个DBA群,据说北京排的上号的DBA都在里面,然而里面基本都是Oracle系的,MySQL和MongoDB系的少之又少.学习靠不 ...
- MongoDB自学------(1)MongoDB4.0安装
一.环境 操作系统 安装包 安装方式 Ubuntu18.04 mongodb4.0 apt安装 Ubuntu18.04 mongodb4.0 docker安装 二.apt安装 sudo apt-key ...
随机推荐
- @GeneratedValue源码解析
JPA要求每一个实体必须有且只有一个主键,而@GeneratedValue提供了主键的生成策略,这就是@GeneratedValue注解存在的意义.本文将浅析@GeneratedValue的源码. @ ...
- 《k8s-1.13版本源码分析》- 调度器设计
本文原始地址:https://farmer-hutao.github.io/k8s-source-code-analysis/core/scheduler/desigh.html github项目地址 ...
- .netcore2.1使用swagger显示接口说明文档
项目之前开发完接口后,我们还需要写接口说明文档,现在有了swagger方便了很多,可以网页版直接测试,当然了也减少了我们的工作量. 使用swagger生成接口说明文档,大致需要2个步骤 1.从“管理 ...
- 4.JAVA-数组、String详解
1.数组 public class Test{ public static void main(String args[]){ int[] intArray = new int[] {1,4,3,2, ...
- maven私服上传jar包
将一下脚本保存在.bat文件执行,红色部分按实际情况修改: @echo off set groupId=com.xxxset artifactId=xxxset version=0.0.1set ja ...
- 我爱Java系列之《JavaEE学习笔记day12》---【缓冲流、转换流、序列/反序列化流、打印流】
[缓冲流.转换流.序列/反序列化流.打印流] 一.缓冲流 1.字节缓冲输出流 java.io.BufferedOutputStream extends OutputStream 高效字节输出流 写入文 ...
- Windows系统桌面右击反应变慢、卡顿问题解决方法
博主的电脑是Win10系统,在修改完系统的用户文件夹名后,桌面右击出现了反应卡顿的现象,并且点击输入法,也变得卡顿.问题解决后,于是想简单记录一下. 还是注册表的问题,使用Win+R快捷键,打开运行, ...
- SpringBoot2.0之六 多环境配置
开发过程中面对不同的环境,例如数据库.redis服务器等的不同,可能会面临一直需要修改配置的麻烦中,在以前的项目中,曾通过Tomcat的配置来实现,有的项目甚至需要手动修改相关配置,这种方式费时费力, ...
- Linux 桌面玩家指南:12. 优秀的文本化编辑思想大碰撞(Markdown、LaTeX、MathJax)
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
- 抽象类(abstract class)与接口(interface)的异同
抽象类:如果一个类中包含抽象方法,那么这个类就是抽象类.在Java语言中,可以通过把类或类中的某些方法声明为abstract(abstract只能修饰类或方法,不能修饰属性)来表示一个类是抽象类. 接 ...