MongoDB 入门之基础 DDL
此文章主要记录部分主要的 MongoDB 的 DDL 操作。
- db 查看当前所在的数据库(默认 test)
> db
test
> - show dbs 查看当前数据库服务器上的数据库名字
> show dbs
admin (empty)
local 0.078GB
mydb 0.078GB
test (empty)
> - use dbSchema 切换到名为 dbSchema 的数据库上下文
> use mydb
switched to db mydb
>当名为 dbSchema 不存在时,创建该数据库,使用 use 创建的数据库如果没有保存数据的话,在 switch 到其他数据库时,该空的数据库将别删除。
- db.dropDatabase() 删除当期所在的数据库
> db.dropDatabase()
{ "dropped" : "test2", "ok" : 1 }
> - db.stats() 查看 database 的状态
> db.stats()
{
"db" : "mydb",
"collections" : 3,
"objects" : 6,
"avgObjSize" : 80,
"dataSize" : 480,
"storageSize" : 24576,
"numExtents" : 3,
"indexes" : 1,
"indexSize" : 8176,
"fileSize" : 67108864,
"nsSizeMB" : 16,
"dataFileVersion" : {
"major" : 4,
"minor" : 5
},
"extentFreeList" : {
"num" : 2,
"totalSize" : 262144
},
"ok" : 1
}
> - show collections 查看当前数据库内的集合
> show collections
collect
system.indexes
> - db.collection.stats() 查看集合的状态
> db.collect.stats()
{
"ns" : "mydb.collect",
"count" : 2,
"size" : 224,
"avgObjSize" : 112,
"storageSize" : 8192,
"numExtents" : 1,
"nindexes" : 1,
"lastExtentSize" : 8192,
"paddingFactor" : 1,
"systemFlags" : 0,
"userFlags" : 1,
"totalIndexSize" : 8176,
"indexSizes" : {
"_id_" : 8176
},
"ok" : 1
}
> - db.createCollection(name,options) 创建集合
db.createCollection(name, {capped: <Boolean>, autoIndexId: <Boolean>, size: <number>, max: <number>} )> db.createCollection(
... "test",
... {
... capped: true,
... autoIndexId: true,
... size: 1024
... })
{ "ok" : 1 }
>name: 集合的名字
capped: 是否启用集合限制,如果开启需要制定一个限制条件,默认为不启用,如果你要开启 size,max 的限制,需要开启 capped
size: 限制集合使用空间的大小,默认为没有限制
max: 集合中最大条数限制,默认为没有限制
autoIndexId: 是否使用_id作为索引,默认为使用(true或false)
size的优先级比max要高 - db.yourColl.drop() 删除集合
> db.test.drop()
true
> - db.collection.ensureIndex(keys, options) 创建索引
db.ensureIndex(keys, {background: <Boolean>, unique: <Boolean>, name: <String>, dropDups: <Boolean>, sparse: <Boolean>, expireAfterSeconds: <Integer>, v: <Index version>} )
keys: 索引对{field:1},1表示升序,-1表示降序
background: 是否在后台创建索引, false 在创建索引时将会阻断其他操作,但效率更高
unique:是否唯一索引
name:索引名
dropDups:创建唯一索引,并删除重复值,散列索引中无效
sparse:是否使用 sparse 索引
expireAfterSeconds:TTL 索引的过期时间,过期后将自动删除。TTL 集合时是有限制的: (1)你不能创建 TTL 索引,如果要索引的字段已经在其他索引中使用。(2)索引不能包含多个字段。(3)索引的字段必须是一个日期的 bson 类型。
v: 索引版本号> db.yourColl.ensureIndex({
"username": 1
},
{
unique: true
})
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
> - db.collection.getIndexes() 查询索引
> db.yourColl.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "mydb.yourColl"
},
{
"v" : 1,
"unique" : true,
"key" : {
"username" : 1
},
"name" : "username_1",
"ns" : "mydb.yourColl"
}
]
>如果需要查询系统中全部的索引,可以使用db.system.indexes.find()函数
- db.collection.dropIndex(index) 删除某一索引
index:可以是索引名,也可以是某一确定某一索引的文档,例如对于上文中的的索引可以同样可以通过 “username_1”,也可以通过“{username:1}”删除同一个索引。> db.yourColl.dropIndex({username:1})
{ "nIndexesWas" : 2, "ok" : 1 }
> - db.collection.dropIndexes() 删除指定集合的全部索引
> db.yourColl.dropIndexes()
{
"nIndexesWas" : 2,
"msg" : "non-_id indexes dropped for collection",
"ok" : 1
} - db.collection.reIndex() 删除某集合上的所有索引然后重建
> db.yourColll.reIndex()
{
"nIndexesWas" : 2,
"nIndexes" : 2,
"indexes" : [
{
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "mydb.yourColl"
},
{
"unique" : true,
"key" : {
"username" : 1
},
"name" : "username_1",
"ns" : "mydb.yourColl"
}
],
"ok" : 1
}
>
MongoDB 入门之基础 DDL的更多相关文章
- MongoDB 入门之基础 DCL
此文章主要记录部分主要的 MongoDB 的 DCL 操作. MongoDB 默认不需要用户名和密码就可以用 mongodb.exe 登录 一.开启 MonogoDB 的权限模式 修改 MongoDB ...
- MongoDB 入门之基础 DML
此文章主要记录部分主要的 MongoDB Collection 的 DML 操作. 文章中的 Collection 名字为 yourColl,每一次操作包含以下两条初始数据 { "_id&q ...
- MongoDb 入门教程
MongoDb 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 它是可扩展的高性能数据存储解决方案,经常被用于非关系型数据的存储,能存储海量的数据. 常 ...
- MongoDB入门实践
MongoDB入门实践 简单介绍MongoDB,包括MongoDB的使用场景.和MySQL的对比.安装部署.Java客户端访问及总结 MongoDB? 我们遵循需求驱动技术的原则,通过一个场景来引入M ...
- mongodb入门篇
MongoDB 入门篇 分类: NoSQL, 故障解决 undefined 1.1 数据库管理系统 在了解MongoDB之前需要先了解先数据库管理系统 1.1.1 什么是数据? 数据(英语:data) ...
- 基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用
在花了不少时间研究学习了MongoDB数据库的相关知识,以及利用C#对MongoDB数据库的封装.测试应用后,决定花一些时间来总结一下最近的研究心得,把这个数据库的应用单独作为一个系列来介绍,希望从各 ...
- MongoDB入门三:MongoDB shell
MongoDB shell MongDB shell是一个功能完备的Javascript解释器,可以运行Javascript程序.也可以用于连接MongoDB服务器,执行脚本,对数据库进行操作.类似于 ...
- Mongodb FAQ fundamentals(基础篇)
Mongodb FAQ(基础篇),是官方文档的翻译.如有翻译不到之处,还请谅解. 1.Mongdb是什么数据库? mongodb是一个面向文档(document)的数据库,既不支持表连接,也不支持事务 ...
- MongoDB 入门之查询(find)
MongoDB 入门之查询(find) 1. find 简介 (1)find的第一个参数决定了要返回哪些文档. 空的查询文档会匹配集合的全部内容.默认就是{}.结果将批量返回集合c中的所有文档. db ...
随机推荐
- CentOS yum的详细使用方法
yum是什么yum = Yellow dog Updater, Modified主要功能是更方便的添加/删除/更新RPM包.它能自动解决包的倚赖性问题.它能便于管理大量系统的更新问题yum特点可以同时 ...
- Mysql之日志恢复
对于Mysql,每一步操作都会有相应记录,如insert,update,delete ,drop ,alter等相关DDL或DML操作.有时难免会出错,但在出错时如何恢复以复原数据. 例如,现在有这些 ...
- 使用Gson送解析Json格式
Java bean: package com.jingle.a; public class Person { public String name; public int age; public Pe ...
- CI重定向:php(codeigniter)中如何重定向
Q: 在保存完数据之后需要重定向,防止数据重复提交. 我使用$this->方法名();跳转,发现不能达到重定向的效果(地址栏没变) 请教高手重定向怎么用 A: $this->load-&g ...
- hdu 1247:Hat’s Words(字典树,经典题)
Hat’s Words Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- 攻城狮在路上(叁)Linux(十五)--- 文件与目录的默认权限与隐藏权限
一.文件默认权限:umask <==需要被减去的权限. 1.umask指的是当前用户在新建文件或者目录时的默认权限,如0022; 2.默认情况下,用户创建文件的最大权限为666; 创建目录的最大 ...
- 运用ASMIOSTAT脚本监控asm disk磁盘性能
1,脚本作用: 类似于OS的iostat检查磁盘的I/O性能,ASMIOSTAT 脚本用来检查ASM磁盘的性能, 2,下载AMSIOSTAT脚本http://files.cnblogs.com/fil ...
- shell test 數值 字符串 文件比較
數值比較 描述 n1 –eq n2 等於 n1 –gt n2 大於 n1 –ge n2 大於等於 n1 –lt n2 小於 n1 –le n2 小於等於 n1 –ne n2 不等於 字符串比較 ...
- 如何安装sublime text2以及它的插件?
下载Sublime Text2的安装包,安装,安装后打开的界面如图 下面我们来给他安装插件,首先安装packagecontrol,打开菜单栏中的View-->show console 在 ...
- 解决linux下unzip中文有乱码的问题
xxx.zip 中有中文的文件,在linux下unzip就会有乱码. 解决办法:安装7zip 去http://sourceforge.net/projects/p7zip/files/latest/d ...