MongoDB的基本操作

🌷数据库准备

🎈Mongoshell

1.在指定目录下创建mongodb文件夹、其子文件log和data以及mongodb.log

cd /home/ubuntu
mkdir -p mongodb/data
mkdir -p mongodb/log
touch mongodb/log/mongodb.log

执行mongodb命令启动mongdb服务

mongod --dbpath /home/ubuntu/mongodb/data --logpath /home/ubuntu/mongodb/log/mongodb.log --logappend --fork

启动mongodb

mongodbsh

🎈创建数据库

use 数据库名
如果数据库不存在,则创建数据库,如果存在,则直接切换到指定路径

例:创建mydb数据库

use mydb

查看所有数据库

show dbs

可以看到,新创建的mydb不在数据库列表中,这是因为MongoDB中数据库和集合的创建都输入懒创建,要想显示它们,向mydb数据库中插入一些数据即可

MongoDB中默认的数据库为test,如果没有创建新的数据库,集合将默认存放在test数据库中

 🎈删除数据库

db.dropDatabase()

可以使用db命令查看当前数据库名

这里以删除mydb数据库为例

🌷集合操作

🎈显式创建集合

db.createCollection(name,option)

例如在mydb下创建student集合(注意:先创建数据库,在创建集合)

🎈重命名集合

db.mydb.renameCollection()

例:将mydb改名为myDB

🎈查询所有集合

show collections

🎈删除集合

db.集合名.drop()

例:删除myDB集合

🌷文档操作

🎈插入文档

1.插入单个文档

db.集合名.insertOne({})

2.插入多个文档

db.集合名.insertMany({[]})

例:在mydb数据库中student集合下插入如下图所示的student集合的表

db.student.insertMany([
{name:'Alice',age:20,gender:'female',major:'Computer Science'},
{name:'Bob',age:22,gender:'male',major:'Mathmatics'},
{name:'Charlie',age:21,gender:'male',major:'Physics'}])

插入完成后用find()方法查看集合

还可以先将文档定义成一个变量,再进行插入

s={name:'Alice',age:20,gender:'female',major:'Computer Science'}
db.student.insertOne(s)
db.stuent.find({})

🎈更新文档

1.单条更新:updateOne

语法:
db.collection.updateOne(<query>,<objNew>)
  • query:查询的条件 
  • objNew:更新的操作

例:我们更新stuinfo文档中名叫nancy的更改为king

db.stuinfo.updateOne({name: 'nancy'}, {$set: {name: 'king'}})

再用find方法查看一下是否修改成功 

db.stuinfo.find({})

 2.多条更新:updateMany

语法:
db.collection.updateMany(<query>,<objNew>)
  • query:查询调价
  • objNew:更新操作

例:将姓名name为“nancy”的所有文档更新为“joker”

db.stuinfo.updateMany({name: 'nancy'}, {$set: {name: 'joker'}})
db.stuinfo.find({})

操作结果如图:

🎈删除文档 

deleteOne()和deleteMany()方法可以来移除集合中的数据

语法格式:

db.COLLECTION_NAME.deleteOne(<query>)
db.COLLECTION_NAME.deleteMany(<query>)

参数说明:

query:delete的查询条件,类似sql delete查询内where后面的语句

(1)删除集合col下全部文档

db.col.deleteMany({})
db.col.find({})

具体操作如图所示:

 (2)删除指定条件的文档

删除集合stuinfo中姓名name为joker的全部文档

db.stuinfo.deleteMany({name:'joker'})
db.stuinfo.find({})

删除年龄age为18的第一个文档

db.stuinfo.deleteOne({age: 18})
db.stuinfo.find({})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/896721.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何利用 OCR 和文档处理,快速提高供应商管理效率 ?

在当今瞬息万变的商业环境中&#xff0c;有效的供应商管理通常需要处理大量实物文档&#xff0c;这带来了巨大的挑战。手动提取供应商名称、编号和其他关键信息等关键细节非常耗时、容易出错&#xff0c;并且会降低整体效率。 为了应对这些挑战&#xff0c;组织正在逐步采用自…

ImportError: numpy.core.multiarray failed to import

ImportError: DLL load failed while importing _multiarray_umath: 找不到指定的模块。 Traceback (most recent call last): File "E:\python_code\Smart_store\test_20241021\test03.py", line 1, in <module> import cv2 File "E:\anaconda3\…

信息安全工程师(60)计算机病毒分析与防护

计算机病毒分析 介绍 计算机病毒是一种人为制造的程序&#xff0c;它通过不同的途径潜伏或寄生在存储媒体&#xff08;如磁盘、内存&#xff09;或程序里。当某种条件或时机成熟时&#xff0c;它会自生复制并传播&#xff0c;使计算机的资源受到不同程度的破坏。 定义&#xf…

7、Vue2(二) vueRouter3+axios+Vuex3

14.vue-router 3.x 路由安装的时候不是必须的&#xff0c;可以等到使用的时候再装&#xff0c;如果之前没有安装的话&#xff0c;可以再单独安装。之前的终端命令行不要关闭&#xff0c;再重新开一个&#xff0c;还需要再package.json文件的依赖中添加。 如果忘记之前是否有安…

PPT自动化:Python如何修改PPT文字和样式!

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 使用 Python 修改 PPT 文本内容📝 遍历所有幻灯片和文本框📝 设置和修改文本样式📝 复制和保留文本样式⚓️ 相关链接 ⚓️📖 介绍 📖 在日常工作中,PPT 的文字内容和样式修改似乎是一项永无止境的…

向日葵密码提取

向日葵密码提取 首先可以通过tasklist /svc来找一下程序PID 通过procdump来提取内存中的数据&#xff0c;从而从中提取密码。例如fastcode部分可以找到设备识别码&#xff0c; 临时密码会放在一个<f>标签中。 工具化 可以把工具用python语言自动化来做&#xff0c;…

SSD-Pytorch环境搭建(二)

系列文章目录 SSD-Pytorch环境搭建&#xff08;一&#xff09; SSD-Pytorch环境搭建&#xff08;二&#xff09; 文章目录 系列文章目录前言一、训练步骤1、本文使用VOC格式进行训练。2、训练前将标签文件放在VOCdevkit文件夹下的VOC2007文件夹下的Annotation中。 3、训练前将…

自己掏耳朵怎么弄干净?清洁耳朵掏耳神器推荐!

耳屎是人体的分泌物之一&#xff0c;很多人选择用传统挖耳勺或者棉签进行掏耳&#xff0c;殊不知这种行为会将耳屎越捅越深&#xff0c;甚至还会捅穿鼓膜&#xff01;那么缺少别人帮助的情况下&#xff0c;自己掏耳朵怎么弄干净呢&#xff1f;现在小编就给大家分享一款掏耳神器…

家庭事务管理系统|基于java和vue的家庭事务管理系统设计与实现(源码+数据库+文档)

家庭事务管理系统 目录 基于java和vue的家庭事务管理系统 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设布道师&#xff0c;阿里云…

React综合指南(三)

#1024程序员节&#xff5c;征文# 41、hooks的使用有什么注意事项 在使用Hooks的过程中&#xff0c;需要注意的两点是&#xff1a; 不要在循环&#xff0c;条件或嵌套函数中调用Hook&#xff0c;必须始终在React函数的顶层使用Hook。这是因为React需要利用调用顺序来正确更新…

配置nginx服务通过ip访问多网站

文章目录 第一种方法第二种方法 先关闭防火墙 # systemctl stop firewalld # setenforce 0第一种方法 #mntui 第二种方法 # vim /etc/nginx/conf.d/test_ip.conf # cat /etc/nginx/conf.d/test_ip.conf server {listen 192.168.234.100:80;#server_nameroot /test/100;loca…

基于neo4j的体育运动员问答问答系统

你是不是也为毕业项目伤透了脑筋&#xff1f;我们为你准备了一个创新且实用的技术项目——基于neo4j的体育运动员问答系统。无论你是对图数据库技术感兴趣&#xff0c;还是想在自然语言处理方面有所突破&#xff0c;这套系统都能让你在答辩时脱颖而出&#xff01; &#x1f3a…

filebeat接入nginx和mysql获取日志

下载nginx &#xff08;1&#xff09; 直接下载 yum install nginx -y&#xff08;2&#xff09;查看状态启动 systemctl start nginx systemctl status nginx&#xff08;3&#xff09;配置文件检查 nginx -t&#xff08;4&#xff09;端口检查 netstat -tulpn | grep :80&am…

Mybatis 中<where>的用法注意事项(附Demo)

目录 前言1. 问题所示2. 基本知识 #1024程序员节 | 征文# 前言 对于Java的基本知识推荐阅读&#xff1a; java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09;【Java项目】实战CRUD的功能整理&#xff08;持续更新&#xff09; 先从实战问…

uniapp使用html2canvas时,页面内的image元素模糊

不废话很简单只需要将image改成img就行 改之前 改之后 原因可能是因为uniapp里面的image标签做了某种处理

基于Java+Springboot+Vue开发的酒店客房预订管理系统

项目简介 该项目是基于JavaSpringbootVue开发的酒店客房预订管理系统&#xff08;前后端分离&#xff09;&#xff0c;这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能&#xff0c;同时锻炼他们的项目设计与开发能力。通过学习基于Java…

监控易监测对象及指标之:Kafka中间件JMX监控指标解读

监控易作为一款功能强大的监控软件&#xff0c;旨在为企业提供全方位的IT系统监控服务。其中&#xff0c;针对Kafka中间件的JMX监控是监控易的重要功能之一。本文将详细解读监控易中Kafka的JMX监控指标&#xff0c;帮助企业更好地理解并运用这些数据进行系统性能调优和故障排查…

开启RefCell debug_refcell feature查看借用冲突位置

文章目录 背景分析解决方法 本文解决两个问题&#xff1a; 开启rust源码库中的feature开启debug_refcell feature的方法查看 borrow 借用冲突的位置 背景 使用 RefCell 来实现内部可变性是在 Rust 开发中常用的方式&#xff0c;但是当逻辑复杂起来&#xff0c;常常会有可变借…

word建立目录以及修改页码

1、为word建立新的目录 &#xff08;1&#xff09;选中word中的标题设置为第几级标题&#xff0c;将所有的标题均设置完成。最后可以鼠标右击标题&#xff0c;对不同的标题字体大小等进行设置。右击-->修改-->格式-->段落 &#xff08;2&#xff09;在word中插入新的…

算法01----移动零(C++)

题目展示 算法原理 我们这里要用到的算法是双指针移动&#xff0c;和我们之前学的快排的核心思想是一样的。我们看看怎么做吧。我会以图片的形式将我的思路告知大家。 这就是整个题目的整体思想算法&#xff0c;大家理解一下&#xff0c;其实这道题目还是很简单的。 代码编写…