余晖落尽暮晚霞,黄昏迟暮远山寻
本站
当前位置:网站首页 > 编程知识 > 正文

MongoDB初学者最常用的10个命令

xiyangw 2023-05-13 16:12 12 浏览 0 评论

1. 登录mongodb

以下命令可以用于登录mongodb数据库,但是需要保证用户你声明的数据库中存在对应的用户和密码

MongoDB初学者最常用的10个命令

mongo --host <hostName> --port <port> -u <username> -p <password> --authenticationDatabase <dbname>
mongo --host 192.168.140.11 -u test -p 123456 --authenticationDatabase test_db
复制代码

2. 列出所有的数据库

当你以适当角色的用户身份登录后,可以使用以下命令查看所有数据库

show dbs
复制代码

3. 选择要使用的数据库

要开始使用特定的数据库,可以用以下命令

use <databaseName>
复制代码

4. 创建用户

当你想让不同的用户拥有不同的权限的时候可以使用以下命令

use <databaseName>
db.createUser({ user: '<username>', pwd: '<password>', roles: [ { role: "readWrite", db: "<databaseName>" } ] });
例子:
use admin
db.createUser({ user: 'admin', pwd: '123456', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
复制代码

5. 列出所有的集合,用户以及角色

// 列出当前database下所有的集合:
show collections;
db.getCollectionNames();
// 列出当前database下所有的用户
show users;
db.getUsers();
// 列出当前dababase下所有角色
show roles;
复制代码

不同的角色对应的权限,最直接之处就在于没有权限有些命令就无法执行

6. 创建集合

下面的命令用户创建集合,更详细命令可以查看官方文档

db.createCollection("collectionName");
复制代码

7. 将文档插入到集合中

集合一旦创建之后,下一步就是创建一个或多个文档插入到集合中

// 插入单个文档
db.<collectionName>.insert({field1: "value", field2: "value"})
// 插入多个文档
db.<collectionName>.insert([{field1: "value1"}, {field1: "value2"}])
db.<collectionName>.insertMany([{field1: "value1"}, {field1: "value2"}])
复制代码

8. 保存或者更新文档

保存命令可用于更新现有文档或根据传递给它的文档参数插入新文档。如果传递的_id与现有文档匹配,则文档将更新。否则,将创建一个新文档。在内部,保存方法使用插入或更新命令。

db.<collectionName>.save({"_id": new ObjectId("123456"), field1: "value", field2: "value"});
复制代码

9. 显示集合记录

// 获取所有记录
db.<collectionName>.find();
// 获取指定数量的记录
db.<collectionName>.find().limit(10);
// 根据id获取记录
db.<collectionName>.find({"_id": yourId})
// 返回记录中特定field的值
// 类似返回select field1,field2 from table
db.<collectionName>.find({"_id": ObjectId("someid")}, {field1: 1, field2: 1});
// 不返回field1的数据
db.<collectionName>.find({"_id": ObjectId("someid")}, {field1: 0});
// 文档记录数
db.<collectionName>.count();
复制代码

10. 管理命令

以下是一些管理命令,这些命令可能有助于查找集合详细信息,例如存储大小,总大小和总体统计信息

// 获取集合的统计信息,比如空间占用,总大小,引擎信息等
db.<collectionName>.stats()
db.printCollectionStats()
//获取集合的延迟统计信息,比如读写的次数,时间等等
db.<collectionName>.latencyStats()
// 获取数据和索引的集合大小
// 集合的大小
db.<collectionName>.dataSize()
// 集合中存储文档的总大小
db.<collectionName>.storageSize()
// 集合数据和索引的总大小(以字节为单位)
db.<collectionName>.totalSize()
// 集合中所有索引的总大小
db.<collectionName>.totalIndexSize()

相关推荐

辞旧迎新,新手使用Containerd时的几点须知

相信大家在2020年岁末都被Kubernetes即将抛弃Docker的消息刷屏了。事实上作为接替Docker运行时的Containerd在早在Kubernetes1.7时就能直接与Kubelet集成使...

分布式日志系统ELK+skywalking分布式链路完整搭建流程

开头在分布式系统中,日志跟踪是一件很令程序员头疼的问题,在遇到生产问题时,如果是多节点需要打开多节点服务器去跟踪问题,如果下游也是多节点且调用多个服务,那就更麻烦,再者,如果没有分布式链路,在生产日志...

Linux用户和用户组管理

1、用户账户概述-AAA介绍AAA指的是Authentication、Authorization、Accounting,即认证、授权和审计。?认证:验证用户是否可以获得权限,是3A的第一步,即验证身份...

linux查看最后N条日志

其实很简单,只需要用到tail这个命令tail-100catalina.out输入以上命令,就能列出catalina.out的最后100行。...

解决linux系统日志时间错误的问题

今天发现一台虚拟机下的系统日志:/var/log/messages,文件时间戳不对,跟正常时间差了12个小时。按网上说的执行了servicersyslogrestart重启syslog服务,还是不...

全程软件测试(六十二):软件测试工作如何运用Linux—读书笔记

从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事,工作时需要用到,面试时会被问到,简历中需要写到。对于软件测试人员来说,不需要你多么熟练使用Linux所有命令,也不需要你对Linux...

Linux运维之为Nginx添加错误日志(error_log)配置

Nginx错误日志信息介绍配置记录Nginx的错误信息是调试Nginx服务的重要手段,属于核心功能模块(nginx_core_module)的参数,该参数名字为error_log,可以放在不同的虚机主...

Linux使用swatchdog实时监控日志文件的变化

1.前言本教程主要讲解在Linux系统中如何使用swatchdog实时监控日志文件的变化。swatchdog(SimpleWATCHDOG)是一个简单的Perl脚本,用于监视类Unix系统(比如...

syslog服务详解

背景:需求来自于一个客户想将服务器的日志转发到自己的日志服务器上,所以希望我们能提供这个转发的功能,同时还要满足syslog协议。1什么是syslog服务1.1syslog标准协议如下图这里的fa...

linux日志文件的管理、备份及日志服务器的搭建

日志文件存放目录:/var/log[root@xinglog]#cd/var/log[root@xinglog]#lsmessages:系统日志secure:登录日志———————————...

运维之日志管理简介

日志简介在运维过程中,日志是必不可少的东西,通过日志可以快速发现问题所在。日志分类日志分类,对不同的日志进行不同维度的分析。操作系统日志操作系统是基础,应用都是在其之上;操作系统日志的分析,可以反馈出...

Apache Log4j 爆核弹级漏洞,Spring Boot 默认日志框架就能完美躲过

这两天沸沸扬扬的Log4j2漏洞门事件炒得热火朝天:突发!ApacheLog4j2报核弹级漏洞。。赶紧修复!!|Java技术栈|Java|SpringBoot|Spring...

Linux服务器存在大量log日志,如何快速定位错误?

来源:blog.csdn.net/nan1996jiang/articlep/details/109550303针对大量log日志快速定位错误地方tail/head简单命令使用:附加针对大量log日志...

Linux中查看日志文件的正确姿势,求你别tail走天下了!

作为一个后端开发工程师,在Linux中查看查看文件内容是基本操作了。尤其是通常要分析日志文件排查问题,那么我们应该如何正确打开日志文件呢?对于我这种小菜鸡来说,第一反应就是cat,tail,vi(或...

分享几款常用的付费日志系统,献给迷茫的你!

概述在前一篇文章中,我们分享了几款免费的日志服务器。他们各有各的特点,但是大家有不同的需求,有时免费的服务器不能满足大家的需要,下面推荐几款付费的日志服务器。1.Nagios日志服务器Nagio...

取消回复欢迎 发表评论: