MongoDB 认识与入门

Mongo

Mongo 数据库的层次关系

000

Mongo 命令

help(显示基本操作命令 )

使用 help 在 ,mongo shell 显示基本操作命令

> help
        db.help()                    # 显示数据库操作命令
        db.mycoll.help()             # 显示集合(collection)操作命令
        sh.help()                    # 显示数据库分片操作命令
        rs.help()                    # 显示副本集操作命令
        help admin                   # 显示管理员操作命令
        help connect                 # 显示连接数据库命令
        help keys                    # 显示快捷键
        help misc                    # 显示其它操作命令
        help mr                      # 显示 mapreduce 操作命令

        show dbs                     # 显示所有数据库列表
        show collections             # 显示当前数据库所有集合列表
        show users                   # 显示当前数据库用户
        show profile                 # 显示最近至少 1ms(>=1ms) 时间运行的前5条记录
        show logs                    # 显示所有日志名称列表(默认为 global)
        show log [name]              # 显示所有指定日志列表(默认为 global)

        use <db_name>                # 切换/创建数据库(若不存在则自动创建)
        db.foo.find()                # 查询 foo 集合,无参数则查询所有,并返回一个游标对象        
        db.foo.find( { a : 1 } )     # 查询 foo 集合中 a == 1 的对象列表
        it                           # 迭代查询下一页数据
        DBQuery.shellBatchSize = x   # 设置要在 shell 上显示的默认记录条数
        exit                         # 退出 mongo shell        

数据库操作

> db.help()
DB methods:
        db.adminCommand(nameOrDocument)                    # 转至 'admin' 数据库, 并运行命令[ 刚刚调用的命令 db.runCommand(...) ]
        db.auth(username, password)                        # 数据库用户认证
        db.cloneDatabase(fromhost)                         # 从指定主机上克隆数据库到当前数据库
        db.commandHelp(name)                               # 返回数据库命令的帮助信息
        db.copyDatabase(fromdb, todb, fromhost)            # 从指定的主机上复制指定数据库数据到某个数据库
        db.createCollection(name, { size : ..., capped : ..., max : ... } ) # 创建一个新的集合
        db.createView(name, viewOn, [ { $operator: {...}}, ... ], { viewOptions } ) 
        db.createUser(userDocument)                        # 创建用户
        db.currentOp()                                     # 显示当前正在进行的操作
        db.dropDatabase()                                  # 删除当前数据库
        db.eval() - deprecated
        db.fsyncLock()                                     # 刷新写入磁盘并锁定该数据库,以防止写入操作,并协助备份操作
        db.fsyncUnlock()                                   # 允许继续进行写入锁住的数据库(解锁)
        db.getCollection(cname)                            # 相当于 db['cname'] 或 db.cname,返回一个集合对象。需要传递一个在数据库中存在的一个有效的集合名称
        db.getCollectionInfos([filter])                    # 返回当前数据库中的所有集合信息
        db.getCollectionNames()                            # 列出当前数据库中的所有集合
        db.getLastError()                                  # 检查并返回最后一个错误操作状态
        db.getLastErrorObj()                               # 返回全部数据库对象状态
        db.getLogComponents()                              # 返回日志消息详细级别
        db.getMongo()                                      # 返回MongoDB当前连接的连接对象
        db.getMongo().setSlaveOk() allow queries on a replication slave server
        db.getName()                                       # 返回当前数据库的名称(也可以直接使用db;命令)
        db.getPrevError()                                  # 返回包含自上次错误复位所有的错误状态文件
        db.getProfilingLevel() 
        db.getProfilingStatus() 
        db.getReplicationInfo()
        db.getSiblingDB(name) 
        db.getWriteConcern() 
        db.hostInfo()                                      # 返回当前数据库主机系统的相关信息
        db.isMaster() check replica primary status
        db.killOp(opid)                                    # 终止指定的操作
        db.listCommands()                                  # 显示公共数据库的命令列表
        db.loadServerScripts() loads all the scripts in db.system.js
        db.logout()                                        # 注销登录
        db.printCollectionStats()                          # 显示集合状态
        db.printReplicationInfo()
        db.printShardingStatus()
        db.printSlaveReplicationInfo()
        db.dropUser(username)                              # 删除用户
        db.repairDatabase()                                # 修复当前数据库
        db.resetError()                                    # 重置 db.getPrevError()和 getPrevError 返回的错误信息
        db.runCommand(cmdObj)                              # 运行一个数据库命令
        db.serverStatus()                                  # 返回当前数据库状态的概要
        db.setLogLevel(level,<component>)                  # 设置一个单独的日志信息级别
        db.setProfilingLevel(level,<slowms>) 0=off 1=slow 2=all # 修改当前数据库的分析级别
        db.setWriteConcern( <write concern doc> ) 
        db.unsetWriteConcern( <write concern doc> ) 
        db.setVerboseShell(flag)                           # 显示 shell 额外输出信息
        db.shutdownServer()                                # 关闭当前数据库运行实例或安全停止有关操作进程
        db.stats()                                         # 返回在当前数据库的状态报告
        db.version()                                       # 返回当前数据库的版本信息
>

集合操作

>db.collection.help()
DBCollection help
        db.collection.find().help()                        # 显示数据库游标帮助
        db.collection.bulkWrite( operations, <optional params> )   # 批量写入
        db.collection.count( query = {}, <optional params> )            # 返回集合总数或匹配查询的结果集总数
        db.collection.copyTo(newColl)
        db.collection.convertToCapped(maxBytes) - calls {convertToCapped:'collection', size:maxBytes}
        db.collection.createIndex(keypattern[,options])                 # 创建一个集合索引
        db.collection.createIndexes([keypatterns], <options>)
        db.collection.dataSize()                                        # 返回集合的大小
        db.collection.deleteOne( filter, <optional params> )            # 删除集合中的一个文档
        db.collection.deleteMany( filter, <optional params> )           # 删除集合中的多个文档
        db.collection.distinct( key, query, <optional params> )         # 返回具有指定字段不同值的文档(去除指定字段的重复数据)
        db.collection.drop()                                            # 删除集合 
        db.collection.dropIndex(index)                                  # 删除指定索引
        db.collection.dropIndexes()                                     # 删除所有索引
        db.collection.ensureIndex(keypattern[,options])                 # 已过时。现使用 db.collection.createIndex() 
        db.collection.explain().help()                                  # 返回各种方法的查询执行信息
        db.collection.reIndex()
        db.collection.find([query],[fields])                            # 查询集合,无参数则查询所有,并返回一个游标对象

        db.collection.find(...).count()
        db.collection.find(...).limit(n)
        db.collection.find(...).skip(n)
        db.collection.find(...).sort(...)
        db.collection.findOne([query], [fields], [options], [readConcern]) # 查询单条数据
        db.collection.findOneAndDelete( filter, <optional params> )        # 查询单条数据并删除
        db.collection.findOneAndReplace( filter, replacement, <optional params> ) # 查询单条数据并替换
        db.collection.findOneAndUpdate( filter, update, <optional params> ) # 查询单条数据并更新
        db.collection.getDB() 
        db.collection.getPlanCache() 
        db.collection.getIndexes()                                      # 返回当前集合的所有索引数组
        db.collection.group( { key : ..., initial: ..., reduce : ...[, cond: ...] } ) # 提供简单的数据聚合功能
        db.collection.insert(obj)                                       # 在当前集合插入一条或多条数据(或叫文档)
        db.collection.insertOne( obj, <optional params> )               # 在当前集合插入一条数据
        db.collection.insertMany( [objects], <optional params> )        # 在当前集合插入多条数据
        db.collection.mapReduce( mapFunction , reduceFunction , <optional params> )
        db.collection.aggregate( [pipeline], <optional params> )        
        db.collection.remove(query)                                     # 从当前集合删除数据
        db.collection.replaceOne( filter, replacement, <optional params> ) # 替换集合中的一个文档(一条数据)
        db.collection.renameCollection( newName , <dropTarget> )        # 重命名集合名称
        db.collection.runCommand( name , <options> )                    
        db.collection.save(obj)                                         # 在当前集合插入一条数据,同insert()方法的区别:当要插入的数据已存在时,save会执行更新操作,而insert方法会忽略当前操作
        db.collection.stats({scale: N, indexDetails: true/false, indexDetailsKey: <index key>, indexDetailsName: <index name>}) # 返回当前集合的状态
        db.collection.storageSize()                                     # 返回当前集合已使用的空间大小
        db.collection.totalIndexSize()                                  # 返回所有索引的大小
        db.collection.totalSize() 
        db.collection.update( query, object[, upsert_bool, multi_bool] )# 修改集合中的数据
        db.collection.updateOne( filter, update, <optional params> )    # 修改集合中的一条数据
        db.collection.updateMany( filter, update, <optional params> )   # 修改集合中的多条数据
        db.collection.validate( <full> ) 
        db.collection.getShardVersion() 
        db.collection.getShardDistribution() 
        db.collection.getSplitKeysForChunks( <maxChunkSize> ) 
        db.collection.getWriteConcern() 
        db.collection.setWriteConcern( <write concern doc> ) 
        db.collection.unsetWriteConcern( <write concern doc> ) 
        db.collection.latencyStats()
    >

猜你喜欢

转载自blog.csdn.net/qq_36148847/article/details/80072074
今日推荐