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 ...
随机推荐
- sun.misc jar包
一直以来Base64算法的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder来进行的.但是这个类是sun公司的内部方法,并没有在Java API中公开过,不属 ...
- 浅谈CSS3 box-sizing 属性 有趣的盒模型
盒模型的组成大家肯定都懂,由里向外content,padding,border,margin. 盒模型是有两种标准的,一个是标准模型,一个是IE模型. 从上面两图不难看出在标准模型中,盒模型的宽高只是 ...
- 正确的git开发流程
正确的git开发流程 第一步 在github中创建一个新的仓库,这时候项目是空的,而且只有一个master分支 第二步 第一个开发人员进来了,他在本地创建一个develop分支,并且提交到远程 git ...
- Windows Server 2016-MS服务器应用程序兼容性列表
该表罗列支持 Window Server 2016 上安装和功能的 Microsoft 服务器应用程序. 此信息用于快速参考,不用于替代有关单个产品的规格.要求.公告或每个服务器应用程序的常规通信的说 ...
- XMPP协议之消息回执解决方案
苦恼中寻找方法 在开始做即时通信时就知道了消息回执这个概念,目的是解决通讯消息因为各种原因未送达对方而提供的一种保障机制.产生这个问题的原因主要是网络不稳定.服务器或者客户端一些异常导致没有接收到消息 ...
- dubbo 序列化机制之 hessian2序列化实现原理分析
对于远程通信,往往都会涉及到数据持久化传输问题.往大了说,就是,从A发出的信息,怎样能被B接收到相同信息内容!小点说就是,编码与解码问题! 而在dubbo或者说是java的远程通信中,编解码则往往伴随 ...
- Winows + VSCode + Debug PHP
一.环境 环境:Win10 二.软件 1.安装VSCode 下载地址:https://code.visualstudio.com/Download 2.PHP 代码包 版本:php-7.2.9-Win ...
- Python爬虫入门教程 47-100 mitmproxy安装与安卓模拟器的配合使用-手机APP爬虫部分
1. 准备下载软件 介绍一款爬虫辅助工具mitmproxy ,mitmproxy 就是用于MITM的proxy,MITM中间人攻击.说白了就是服务器和客户机中间通讯多增加了一层.跟Fiddler和Ch ...
- 【朝花夕拾】四大组件之(一)Broadcast篇
前言 笔者最近在探究ANR及源码的过程中,发现对Broadcast的一些应用层面上的知识有的感觉比较生疏,有的记忆不准确,有的认识不完整.所谓“基础不牢,地动山摇”,于是就梳理了一下Broadcast ...
- [深度概念]·K-Fold 交叉验证 (Cross-Validation)的理解与应用
K-Fold 交叉验证 (Cross-Validation)的理解与应用 我的网站 1.K-Fold 交叉验证概念 在机器学习建模过程中,通行的做法通常是将数据分为训练集和测试集.测试集是与训练独立的 ...