`

征服 Mongodb 之 常用命令、基本数据类型

阅读更多

    手里有本《MongoDB权威指南》,打算做个读书笔记,把常规命令、数据类型过一遍,强迫记忆。酷

 

 

集群配置相关链接:

征服 Mongodb 之 安装与系统服务配置

征服 Mongodb 之 主从复制&集群复制

 

基本操作相关链接:

征服 Mongodb 之 常用命令、基本数据类型  

征服 Mongodb 之 Modifier初识

征服 Mongodb 之 Modifier增强

征服 Mongodb 之 CRUD

    关于如何安装、配置、启动MongoDB等,参考上篇文章。

 

    一、常规命令

  • 登录

    类似于MySQL登录,可参考如下命令:

 

# mongo --help
MongoDB shell version: 2.0.7
usage: mongo [options] [db address] [file names (ending in .js)]
db address can be:
  foo                   foo database on local machine
  192.169.0.5/foo       foo database on 192.168.0.5 machine
  192.169.0.5:9999/foo  foo database on 192.168.0.5 machine on port 9999
options:
  --shell               run the shell after executing files
  --nodb                don't connect to mongod on startup - no 'db address' arg expected
  --norc                will not run the ".mongorc.js" file on start up
  --quiet               be less chatty
  --port arg            port to connect to
  --host arg            server to connect to
  --eval arg            evaluate javascript
  -u [ --username ] arg username for authentication
  -p [ --password ] arg password for authentication
  -h [ --help ]         show this usage information
  --version             show version information
  --verbose             increase verbosity
  --ipv6                enable IPv6 support (disabled by default)

file names: a list of files to run. files have to end in .js and will exit after unless --shell is specified
 

 

    譬如,我经常这么用,一步到位:

  

 

# mongo 10.11.20.140/zlex
MongoDB shell version: 2.0.7
connecting to: 10.11.20.140/zlex
> 
 

 

  •  查看当前数据库/切换数据库    
# mongo 
MongoDB shell version: 2.0.7
connecting to: test
> db
test
> use zlex
switched to db zlex
> 
 
  •  查看当前数据库下的表,及索引 
> show collections
system.indexes
test
user
    system.indexes索引信息

    test、user是数据表

 

  •  查看当前数据库、表状态
> db.stats()
{
        "db" : "test",
        "collections" : 6,
        "objects" : 16,
        "avgObjSize" : 44.75,
        "dataSize" : 716,
        "storageSize" : 32768,
        "numExtents" : 6,
        "indexes" : 4,
        "indexSize" : 32704,
        "fileSize" : 201326592,
        "nsSizeMB" : 16,
        "ok" : 1
}
> db.blog.stats()
{
        "ns" : "test.blog",
        "count" : 0,
        "size" : 0,
        "storageSize" : 8192,
        "numExtents" : 1,
        "nindexes" : 1,
        "lastExtentSize" : 8192,
        "paddingFactor" : 1.56,
        "flags" : 1,
        "totalIndexSize" : 8176,
        "indexSizes" : {
                "_id_" : 8176
        },
        "ok" : 1
}
   PS:MongoDB 1.8支持16MB的消息长度
  •   一些边边角角的函数,你懂滴,横向思维下大笑
> db.help()
DB methods:
        db.addUser(username, password[, readOnly=false])
        db.auth(username, password)
        db.cloneDatabase(fromhost)
        db.commandHelp(name) returns the help for the command
        db.copyDatabase(fromdb, todb, fromhost)
        db.createCollection(name, { size : ..., capped : ..., max : ... } )
        db.currentOp() displays the current operation in the db
        db.dropDatabase()
        db.eval(func, args) run code server-side
        db.getCollection(cname) same as db['cname'] or db.cname
        db.getCollectionNames()
        db.getLastError() - just returns the err msg string
        db.getLastErrorObj() - return full status object
        db.getMongo() get the server connection object
        db.getMongo().setSlaveOk() allow this connection to read from the nonmaster member of a replica pair
        db.getName()
        db.getPrevError()
        db.getProfilingLevel() - deprecated
        db.getProfilingStatus() - returns if profiling is on and slow threshold 
        db.getReplicationInfo()
        db.getSiblingDB(name) get the db at the same server as this one
        db.isMaster() check replica primary status
        db.killOp(opid) kills the current operation in the db
        db.listCommands() lists all the db commands
        db.logout()
        db.printCollectionStats()
        db.printReplicationInfo()
        db.printSlaveReplicationInfo()
        db.printShardingStatus()
        db.removeUser(username)
        db.repairDatabase()
        db.resetError()
        db.runCommand(cmdObj) run a database command.  if cmdObj is a string, turns it into { cmdObj : 1 }
        db.serverStatus()
        db.setProfilingLevel(level,<slowms>) 0=off 1=slow 2=all
        db.shutdownServer()
        db.stats()
        db.version() current version of the server
        db.getMongo().setSlaveOk() allow queries on a replication slave server
        db.fsyncLock() flush data to disk and lock server for backups
        db.fsyncUnock() unlocks server following a db.fsyncLock()
> 

 

 

    二、基本数据类型

  • null:空值,或不存在的字段
{"x":null}
  • undefined:未定义
{"x":undefined}

 

  • boolean:布尔,'true' | 'false'
{"x":true}
  • double:浮点数,不管是32位,还是64位的整数,最后都被统一为64位浮点数
{"x":3.14}
{"x":314}
     在JavaScript中只有一种数字类型,在MongoDB中有3中数字类型(32位/64位整数、64位浮点数)。为了完全兼容这三种数字类型,在shell操作时,都统一为64位浮点数。
  • String:字符串,其值为UTF-8编码
{"x":"test"}
  •  id:唯一标识
{"x":new ObjectId()}
  •  Date:日期
{"x":new Date()}
  •  Arrary:数组
{"x":["a", "b", "c"]}
  • Document:内嵌文档
{"x":{"name":"zlex"}}
  • Code:代码,即JavaScript代码
{"x": function(){/* ... */}}
     还没有试过,这个在页面上直接吐代码,一定很强大。眨眼
  • Regular Expression:正则表达式
{"x": /foobar/i}
    暂时没理解这个正则表达式存在库里,可以起到什么效果。。。
    今天先真理这么多,不能一口吃成胖子,后续继续整理。休息,休息一会!大笑
集群配置相关链接:

征服 Mongodb 之 安装与系统服务配置

征服 Mongodb 之 主从复制&集群复制

 

基本操作相关链接:

征服 Mongodb 之 常用命令、基本数据类型  

征服 Mongodb 之 Modifier初识

征服 Mongodb 之 Modifier增强

征服 Mongodb 之 CRUD

3
1
分享到:
评论

相关推荐

    MongoDB数据库常用命令.docx

    MongoDB 数据库常用命令大全 MongoDB 是 NoSQL 数据库系统中比较流行的数据库之一。它也是最接近关系型数据库的,一个数据库可以包含多个集合(Collection),类似于关系数据库中的表;而每个集合中可以存储一组由...

    MongoDB常用命令批处理

    MongoDB是一种流行的开源文档数据库系统,它以JSON格式存储数据,具有高性能、高可用性和可扩展性。在管理和操作MongoDB时,批处理脚本是一个高效的方法,特别是对于执行重复性的任务,如安装、启动、停止和配置服务...

    mongodb的常用命令

    以下是一些MongoDB的常用命令及其详细解释: 1. **停止数据库**: - 使用`control-c`:在终端中按下`control-c`可以中断当前运行的MongoDB进程。 - `use admin`:切换到`admin`数据库,这是一个特殊的角色,可以...

    mongodb常用命令.txt

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

    MongoDB的元数据与数据类型.pdf

    在深入探讨MongoDB的元数据和数据类型之前,我们先理解一下这两个概念。 元数据(Metadata)是指关于数据的数据,即描述信息,如数据库中的表名、字段名、索引、用户权限等。在MongoDB中,元数据存储在特定的系统...

    mongodb 数据库常用命令大全手册

    以下是对MongoDB数据库常用命令的详细介绍: 1. **连接数据库**:使用`mongo`命令启动MongoDB shell,连接到默认的`test`数据库。若要连接到特定数据库,如`mydb`,可执行`use mydb`。 2. **显示所有数据库**:`...

    MongoDB常用操作命令大全

    MongoDB常用操作命令大全 数据库常用命令 Collection聚集集合 用户相关 聚集集合查询

    mongodb基本命令和实例

    接下来是MongoDB的一些基本数据定义语言(DDL)和数据操作语言(DML)命令: 1. **创建数据库**: MongoDB中,无需显式创建数据库。当你首次使用 `use dbname` 时,如果数据库不存在,MongoDB会自动创建它。 2. *...

    MongoDB常用命令汇总

    包含对数据库、集合、文档的常用操作。

    mongodb的基本命令.md

    mongodb基本操作数据库命令

    mongoDb 常用命令

    mongodb php distinct command --- mongoDb 常用命令

    mongodb常用命令.docx

    在MongoDB中,数据库是数据的基本组织单位,一个MongoDB服务器可以托管多个数据库。每个数据库可以包含多个集合(collection),类似于关系型数据库中的表。集合内存储的是文档,每个文档都是一个BSON对象,可以自由...

    Mongodb常用命令和java调用

    BSON相比于JSON,增加了诸如日期、二进制数据等更多数据类型,同时保持了JSON的易读性。这种格式在存储和检索数据时效率更高,但相比纯文本格式,空间占用稍大。 在MongoDB中,数据被组织成命名空间,包括数据库名...

    mongodb安装文件安装步骤常用命令和案例.rar

    本教程将详细介绍MongoDB在Linux环境下的安装步骤,并提供常用命令及实际案例,帮助您快速掌握MongoDB的操作。 首先,让我们来看如何在Linux系统上安装MongoDB。安装过程通常包括以下几个步骤: 1. **下载MongoDB*...

    mongodb常用管理命令.pdf

    接下来将详细介绍文档中出现的MongoDB常用管理命令及其相关的知识点。 1. 启动MongoDB服务 - `mongod` 是MongoDB数据库服务器的命令行工具,用于启动数据库实例。 - 通常需要指定`--dbpath`参数来指定数据库存储...

    nosql实验六- MongoDB的安装与基本操作.docx

    MongoDB 安装与基本操作 MongoDB 是一款流行的 NoSQL 数据库,广泛应用于大数据和实时 Web 应用程序。在本实验中,我们将学习如何在 Windows 和 Linux 环境下安装 MongoDB,并了解 MongoDB 的基本操作。 一、...

    mongodb-测试数据

    在深入探讨MongoDB的测试数据之前,我们先来了解一下MongoDB的基本概念。MongoDB使用JSON格式的文档(BSON)作为其数据存储单位,这种格式易于理解和处理,尤其适合处理结构松散或半结构化数据。数据库由集合组成,...

    MongoDB数据库常用操作命令1.pdf

    除了上述基本操作,MongoDB还提供了许多其他功能,如插入和查询文档、更新和删除文档、索引管理、复制集(用于高可用性和数据冗余)、分片(用于水平扩展)等。这些高级特性使得MongoDB成为处理大量半结构化和非结构...

    11.4.2 为什么在MongoDB中使用Object ID数据类型?.md

    11.4.2 为什么在MongoDB中使用Object ID数据类型?

Global site tag (gtag.js) - Google Analytics