MongoDB忘记密码、批量插入等命令

MongoDB初探-创建,更新和删除文档 一、Insert操作 Insert操作是MongoDB插入数据的基本方法,对目标集合使用Insert操作,会将该文档添加到MongoDB并自动生成相应的ID键。文档结构采用类似JSON的BSON格式。常见的插入操作主要有单条插入和批量插入两种形式。插入时只是简单地将文档存入数据库中,不进行额外的验证,也不会执行代码,所以不存在注入式攻击的可能。 1、单条插入 2、批量插入 Mong 阅读详情

下午刚设置的密码,当时忘记保存,晚上去吃了个晚饭回来就忘记了。研究了一会发现也不难,不过网上没有直接搜到就记录一下,按照以下步骤操作即可

操作步骤:

复制代码代码如下:

vim /etc/mongodb.conf          # 修改 mongodb 配置,将 auth = true 注释掉,或者改成 false
service mongodb restart        # 重启 mongodb 服务

mongo                          # 运行客户端(也可以去mongodb安装目录下运行这个)
use admin                      # 切换到系统帐户表
db.system.users.find()         # 查看当前帐户(密码有加密过)
db.system.users.remove({})     # 删除所有帐户
db.addUser('admin','password') # 添加新帐户

vim /etc/mongodb.conf          # 恢复 auth = true
service mongodb restart        # 重启 mongodb 服务

一、Insert操作

Insert操作是MongoDB插入数据的基本方法,对目标集合使用Insert操作,会将该文档添加到MongoDB并自动生成相应的ID键。文档结构采用类似JSON的BSON格式。常见的插入操作主要有单条插入和批量插入两种形式。插入时只是简单地将文档存入数据库中,不进行额外的验证,也不会执行代码,所以不存在注入式攻击的可能。

1、单条插入


2、批量插入

MongoDB对批量插入的支持是通过传递多个文档组成的数组到数据库来实现的。由于它插入数据是通过发送TCP请求的,这样只需发送单个TCP请求,且数据库无需处理大量的消息头,减少插入时间。这种方式的批量插入一次只能将多个文档插入到一个集合中,对于插入到多个集合可以循环调用Insert操作。


二、Remove操作

remove函数可以用来删除数据,它能接受一个文档作为可选参数,只有符合条件的文档才会被删除。删除数据是永久性的,不能撤销,也不能恢复,需要谨慎。删除文档需要清空整个集合,不如直接删除集合快。

三、Update操作

update函数用于修改数据库中的数据,它接收两个参数,一个是查询文档,用来查找要更新的文档,另一个是修改器文档,用来描述对找到的文档做哪些修改。更新操作是原子性的,如果多个更新同时发生,则所有的更新都会执行,但最后的更新是最终赢家。

1、整体更新(文档替换)


2、局部更新(修改器)

 部分更新是通过原子的更新修改器实现的,使用修改器时除了”_id“的值不能改变,其他任何值都能改变。文档替换是可以改变所有值的。

 $inc修改器:将指定属性的值增加特定的步长,如果键不存在则创建它。


$set修改器:用来指定一个键的值,如果不存在则创建它。


$push:数组修改器,如果指定的键存在,则向已有的数组末尾加入一个元素,键不存在则会创建一个新的数组。


3、upsert操作

upsert操作具有saveOrUpdate的功能,如果没有文档符合更新条件,则以更新条件和更新文档为基础创建一个新的文档。如果有符合更新条件的文档,则正常更新。创建新文档时会以条件文档作为基础,将修改器作用其之上。upsert操作是原子性的,高效的。


4、批量更新

批量更新只需将update的第4个参数设为true即可。

四、瞬间完成

上面的插入,删除和更新操作都是瞬间完成的,它们不需要等待数据库响应。这样的实现可以获取高性能,速度非常快,只会受客户端发送速度和网络速度的制约。但由于不会获取服务器状态,所以不能保证操作顺利完成。这对于付费系统,安全性较高的系统是不可行的,此时对这些操作需要使用它们的安全版本。安全版本会在操作执行后立即运行getLastError命令,来检查是否执行成功。如果失败一般会抛出可捕获的异常,然后我们可以在代码中处理。

五、请求和连接

数据库会为每个MongoDB数据库连接创建一个队列,存放这个连接的请求,客户端新发送的请求会被放到队列的末尾。只有队列中的请求都执行完毕,后续的请求才会执行。即对于单个连接来说,请求都是顺序执行不存在并发问题,所以它总能读到自己写的东西。但对于不同的连接就有可能出现读取和写入不一致的问题,在驱动程序使用连接池时要特别注意此行为。具体连接池信息可参考官网:MongoDB官网

MongoDB insertMany 批量插入原理与Windows本地最佳实践 批量插入是数据库高频操作的基础能力,其本质是通过减少网络往返、合并日志写入和优化存储引擎刷盘来提升吞吐。MongoDB 的 insertMany 并非简单语法封装,而是基于 BSON 协议、WiredTiger 引擎内存管理及文档级锁机制协同实现的高效 Bulk Insert 方案。它直面批次大小权衡、错误处理模型(ordered/bypassValidation)和驱动兼容性等工程现实问题。尤其在 Windows 本地开发环境(如 MongoDB 4.0.28),需兼顾 VC++ 运行库依赖、data/d 阅读详情

相关推荐

MongoDB学习总结二(详细记录Win10中MongoDB无验证登录 + 配置密码验证登录步骤)

前提:本文简要介绍MongoDB + 记录Win10配置MongoDB服务过程详细步骤 + 记录出现服务特定错误100解决方案。 (个人记录学习总结内容,若出现错误/改进地方,请指出/分享,共同学习!!!) 一、准备工作(操作MongoDB数据库前)(接上篇文章) 1、启动MongoDB服务(管理员身份运行) 2、Navicat Premium15可视化工具操作数据库 (1)新建连接MongoDB(设置连接名、不验证情况),进行测试连接,成功即可。 (...

彼岸尚有荣光在,应不断记录总结!!! 5179

MongoDB——插入操作详解

插入文档 向集合中插入一条或多条文档。语法: db.collection.insert( { //可选字段 writeConcern:<document> ordered: <boolean> }, { //可选字段 writeConcern:<document> ordered: <boolean> }, ... ) db为数据库名,collection为集合名,insert为插入文档命令。 可选字段: writeCon

吴声子夜歌的博客 3万+

Proteus下载安装快速入门:30分钟掌握全过程

手把手教你完成proteus下载安装,从环境配置到首次运行一气呵成,适合电子设计新手快速掌握仿真工具的核心操作步骤。

weixin_31974443的博客 891

MongoDB 基础语法【增删改查】

问题:有些数据前端界面不展示或者不方便查询出来,此时如果要排查问题可以查询查询数据库进行查看,测试历史渠道统计——新增字段3天充值率时界面没有充值人数的字段,此时界面没法判断是人数统计有误,没有统计还是运算有误等原因,数据库则有记录,此时便可以边操作边查询数据库。mongodb中查询用的也是比较多,用法也比较多,但此次查询不做深入的讲解,底下有截图查询的常用语法,后续会出一篇完整的讲解,需要资料的小伙伴也可以私信我。MongoDB 在处理这些条件时,默认使用 AND 逻辑。集合中指定id的数据。

m0_72638029的博客 1859

哨兵一号数据下载

哨兵1号数据的下载过程

weixin_59617499的博客 5135

对接萤石平台调用播放

萤石api 管理 · 萤石开放平台API文档 httpclient pom <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version> </dependency> package com.ruoyi...

u011799016的博客 1773

MongoDB如何使用insert方法插入内容文档?

MongoDB在使用更新文档save() 方法遇到新增的数据中存在主键时改原来的内容为新内容,如果想要提示错误,可以使用insert()方法。MongoDB提供了插入内容文档insert方法的形式一共有三个,本文向大家介绍MongoDB数据库使用insert方法插入内容文档的使用方法。 一、MongoDB插入内容文档insert方法的三种形式 1、insertOne插入一个文档 db.collection.insertOne() 2、insertMany插入多个文档 db.collection.inse

shannya_zhima的博客 1178

U盘文件变exe?3步教你用火绒+批处理脚本恢复隐藏文档(附注册表修复)

本文详细解析了U盘文件被病毒隐藏并伪装成exe文件的原理,并提供了三步解决方案:首先使用火绒安全软件进行全盘查杀清除病毒;其次通过批处理脚本批量恢复被隐藏的文件属性;最后修复被篡改的注册表设置,彻底解决文件无法显示的问题,帮助用户安全找回数据并加固系统防护。

weixin_28622215的博客 914

插入操作

插入操作:将一个元素插入数组第i个元素处; 思路: 1、如果插入位置不合理,抛出异常; 2、如果线性表长度大于等于数组长度,则抛出异常或者动态增加数组容量; 3、从最后一个元素开始向前遍历到第i个元素,分别将他们都往后移动一个位置; 4、将咬插入元素填入位置i处; 5、线性表长+1; #define MAXSIZE 20 typedef int ElemType; typ

小菜菜 7226

ComfyUI破限版全中文AI绘画环境搭建与工作流实战指南

节点式工作流是AI绘画领域的核心技术架构,通过将图像生成过程拆分为可配置的模块化节点,实现了对Stable Diffusion模型的精细化控制。其技术原理基于数据流编程范式,每个节点负责特定功能处理,如文本编码、采样器配置和VAE解码等。这种设计在工程实践中的核心价值在于提供了可追溯、可复用的可视化工作流,特别适合需要参数调优和批量生产的商业场景。ComfyUI作为典型的节点式AI绘画工具,在破限版中针对中文用户优化了界面支持和显卡兼容性,显著降低了技术门槛。在实际应用中,结合ControlNet和LoRA

weixin_29038155的博客 446

【GameFramework框架内置模块】1、全局配置(Config)

这是GameFramework框架内置模块的第一篇,全局配置Config,讲解这些模块的时候会尽量的涉及介绍、为什么使用、如何使用、代码分析这几块,让大家可以知其然,也知其所以然。全局配置表,存储了一些游戏中使用的全局的参数配置,比如玩家的初始速度、游戏初始音量等。全局配置表的结构跟DataTable结构类似,也是列行+键值对,只是没有ID这一列,因为全局配置也不需要用ID去查询, 是直接使用key值进行查询。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 5884

MongoDB插入文档

插入操作是向MongoDB中添加数据的基本方式。

qq_34527468的博客 2194

FreeRTOS全攻略:从入门到精通

本文聚焦 FreeRTOS,从基础概念出发,阐述其开源、轻量级等优势。着重介绍 FreeRTOS 入门知识,涵盖内存管理、任务操作、同步互斥机制等核心内容。其中,空闲任务与钩子函数保障系统基础运行与功能扩展;队列、信号量、互斥锁和事件组等机制,分别从数据传递、资源访问控制、优先级问题解决及多任务同步等方面,为开发者提供高效的任务间协作与资源管理方案,助力开发者掌握 FreeRTOS 核心技术,为嵌入式项目开发筑牢基础。

邓邓子的博客 6357

pymong 批量插入_MongoDB使用手册

MongoDB适合储存大量关联性不强的数据!无需预先设定表结构,并发写入速度远超过关系型数据库Python中使用链接数据库本地库如果是本机,且没有密码、默认端口12from pymongo import MongoClientclient = MongoClient()服务器链接需要用rul形式链接123456789101112from pymongo import MongoClintclien...

weixin_35143502的博客 575

华为OD面试手撕真题 【合并相邻且相等的元素】多语言题解

华为OD面试高频手撕真题【合并相邻且相等的元素】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。

qq_45776114的博客 546

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

mongoDB数据的批量备份、还原、导入与导出

mongoDB数据的批量导入与导出 前面我们介绍了mongo数据库的安装与配置 mongoDB的安装与配置 接下来我们讲一讲如何在终端进行mongo数据库对数据的批量操作和如何使用mongo的可视化工具Navicat对mongo数据库进行操作

chenxiyuehh的博客 9510

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

mongoDB使用及简单命令(忘记了密码怎么办、mongoDB密码重置、创建数据库、mongoDB启动停止)

一、安装(略) 启动命令: ​ 带权限验证: mongod --dbpath /home/mongoDB/data --logpath /home/mongoDB/log/log --logappend --auth --port 27017 --fork ​ 不带权限验证: mongod --dbpath /home/mongoDB/data --logpath /home/mongoDB/log/log --logappend --port 27017 --fork 关闭命令: mong

blindore的博客 588

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

mongodb基本操作命令

基于docker快速搭建mongodb及基础命令使用

qq_45003354的博客 1507

查看mongodb密码_《MongoDB》day one

Linux软件安装-安装mongodb在Linux系统中如何启动mongodb? 创建mongodb.conf配置文件:启动mongodb:./bin/mongod --config /usr/local/mongodb/etc/mongodb.confmongodb前置启动?mongodb后置启动?Mongodb中的数据类型有哪些?Mongodb的关闭方式?Mongodb的权限介绍?Mongod...

weixin_29495899的博客 2826

MongoDB安装步骤与基本命令

创建用户 db.createUser({ user: "testuser", pwd: "password123", roles: [ { role: "readWrite", db: "test" }, { role: "dbAdmin", db: "test" } ]})db.myCollection.insertOne({ name: "Alice", age: 25, city: "New York" });#验证用户 db.auth("testuser", "password123")

2503_90733680的博客 2311

使用python往MongoDB中批量插入数据的方法

之前工作需要,总结的方法,一直没时间梳理,正好趁着现在有时间,记录一下,还是要定期复盘一下自己的技能的,持续学习。下面的代码仅供参考,有些用不到的代码大家可以自己适当删减。

重剑无锋,大巧不工 330

MongoDB(二) - MongoDB命令详解

本文是 MongoDB 的操作指南,全面介绍了其在数据库、集合、文档、索引、用户权限管理等方面的操作。开篇点明 MongoDB 在数据管理领域的重要性,随后详细阐述各项操作。数据库操作涵盖切换、创建、查看和删除数据库;集合操作包括创建、查看和删除集合;文档操作涉及插入、更新、删除和查询,查询又分为基本查询、条件查询、数组查询等多种方式,并介绍了聚合操作和 Map - Reduce 操作。索引操作讲解了索引类型、创建、查看和删除方法。用户权限管理介绍了内置角色和权限,以及用户的创建、查看、修改和删除操作。

zcs2312852665的博客 2226

golang mongodb 复杂插入更新如何实现_MongoDB

训练大纲MongoDb1大家如果想快速有效的学习,思想核心是“以建立知识体系为核心”,具体方法是“守破离”。确保老师课堂上做的操作,反复练习直到熟练。第145次(MongoDb)学习主题:MongoDb学习目标:1.掌握什么是mongodb?2.掌握mongodb的配置安装3.mongodb的用户创建和认证4.mongodb更新用户删除用户5.mongodb创建集合 查看删除集合对应视频:http...

weixin_35792468的博客 578

MongoDB

条件比较运算: db.comment.find({字段名:{$gt:值}}) 包含查询: db.comment.find({字段名:{$in:[值1,值2]}})或 db.comment.find({字段名:{$nin:[值1,值2]}})条件连接查询: db.comment.find({$and:[{条件1},{条件2}]})或 db.comment.find({$or:[{条件1},{条件2}]})如果要查询结果返回部分字段,则需要使用投影查询(不显示所有字段,只显示指定的字段)。

qq_36115340的博客 2074

mongodb运行js脚本插入数据、导入数据命令

命令行窗口进入到mongodb的bin目录下,如:d:/mongodb/bin 1、运行js文件插入数据: mongo --verbose localhost:30001/jxga -u jxga -p jxga001 d:/脚本的名字.js 2、导入数据 mongoimport -h localhost --port 30001 -u jxga -p jxga001 -d jxga -c...

lzx8023的专栏 4187

插入大量数据至MongoDB数据库的速度问题分析

插入大量数据至MongoDB数据库的速度问题分析 需求背景:某定时任务产生千条或更多JSON数据,本次数据还未完全写入数据库中,下一次定时任务的数据已经产生,由此而产生的数据拥堵怎么解决? 最初使用SpringBoot对MongoDB数据库做数据插入操作时,使用的是MongoTemplate中的save方法完成数据存储操作。 具体代码实现如下: JS

huangshulang1234的博客 1万+
上一篇: mongo的常用操作
下一篇: Python 代码调试技巧使用 PyDev 进行调试
CsharpGame
博客等级 码龄21年 11粉丝 1原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值