当前位置: 首页 > news >正文

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({})

相关文章:

MongoDB的基本操作

&#x1f337;数据库准备 &#x1f388;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 /h…...

spring mvc后端实现过程

文章目录 一、Spring mvc1、controller1.1、LoginController011.2、LoginController 2、service2.1、LoginService2.1、LoginInimplements 3、dao3.1、LoginMapper3.1、LoginMapper.xml 4、实体类 一、Spring mvc 1、controller 控制器层、处理用户的请求和响应&#xff0c; …...

102005

import os os.environ["CUDA_VISIBLE_DEVICES"] "0" # 设定使用的 GPUimport tensorflow as tf from dataset import generate_data import numpy as np from model import enhancednet# 检查 TensorFlow 是否可以识别 GPU gpus tf.config.list_physica…...

Cisco ACI环境给Leaf配置OOB带外管理IP方法

可以通过GUI 或CLI进行配置 通过CLI更简单&#xff0c;和配置传统交换机差不多&#xff0c; ACI中共有3大组件 APIC 控制器 SPINE 核心 LEAF 接入 下面我们将3种角色的带外IP配置方法都列出来 1 APIC配置带外IP This example shows how to configure out-of-band managemen…...

免费送源码:Java+B/S+MySQL springboot电影推荐系统 计算机毕业设计原创定制

摘 要 随着互联网与移动互联网迅速普及&#xff0c;网络上的电影娱乐信息数量相当庞大&#xff0c;人们对获取感兴趣的电影娱乐信息的需求越来越大,个性化的电影推荐系统成为一个热门。然而电影信息的表示相当复杂&#xff0c;己有的相似度计算方法与推荐算法都各有优势&#…...

数据清洗(脚本)

使用脚本清洗数据时&#xff0c;可以根据具体的数据问题选择编程语言&#xff0c;如Shell、Python、SQL等。这里我以 Python&#xff08;Pandas库&#xff09; 和 SQL 为例&#xff0c;演示如何通过脚本进行数据清洗。 1. 使用 Python&#xff08;Pandas库&#xff09; 进行数…...

jmeter中发送post请求遇到的问题

用jmeter发送post请求&#xff0c;把请求参数放在Body Data处&#xff0c;参数都写得正确&#xff0c;但没想到结果每次都报错&#xff0c;直接响应结果乱七八糟&#xff0c;改成用Parameters,反而不乱报错了。 上图 请求里如下 另外一些请求也是这样 这个响应结果也是错误的…...

Java中使用protobuf

一、简介 Protocal Buffers(简称protobuf)是谷歌的一项技术&#xff0c;用于结构化的数据序列化、反序列化。 Protocol Buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法&#xff0c;它可用于&#xff08;数据&#xff09;通信协议、数据存储等。 Protocol B…...

2020款Macbook Pro A2251无法充电无法开机定位及修复

问题背景 up主有一台2020年的Macbook Pro&#xff0c;带Touch Bar&#xff0c;16G512G&#xff0c;四核I5&#xff0c;型号A2251 应该是一周没充电了&#xff0c;之前还用的好好的&#xff0c;后来有一天出差想带上 打开没电&#xff0c;手头上有个小米的66W快充头&#xff0c…...

Spring Cloud --- 引入Gateway网关

引入Gateway网关 介绍 Spring Cloud Gateway 组件的核心是一系列的过滤器&#xff0c;通过这些过滤器可以将客户端发送的请求转发(路由)到对应的微服务。 Spring Cloud Gateway 是加在整个微服务最前沿的防火墙和代理器&#xff0c;隐藏微服务结点 IP 端口信息&#xff0c;从…...

ESP32-C3实现定时器的启停(Arduino IDE)

1概述 ESP32-C3微控制器有多个定时器&#xff0c;这些定时器可用于各种用途&#xff0c;包括计时、生成PWM信号、测量输入信号的频率等。以下是ESP32-C3上可用的定时器资源&#xff1a; 两个硬件定时器&#xff1a; 定时器0&#xff1a;这是一个通用定时器&#xff0c;通常用于…...

centos升级g++使其支持c++17

centos升级g使其支持c17 升级g的原因现象原因 升级g方法更新镜像源yum升级g版本 总结 升级g的原因 现象 编译最新版本的jsoncpp报一下错误 jsontest.h:87:37: error: ‘hexfloat’ is not a member of ‘std’oss << std::setprecision(16) << std::hexfloat &l…...

Pytest日志收集器配置

前言 在pytest框架中&#xff0c;日志记录&#xff08;logging&#xff09;是一个强大的功能&#xff0c;它允许我们在测试期间记录信息、警告、错误等&#xff0c;从而帮助调试和监控测试进度。 pytest与Python标准库中的logging模块完美集成&#xff0c;因此你可以很容易地在…...

Morris算法(大数据作业)

我只能说&#xff0c;概率证明真的好难啊&#xff01;(&#xff1b;′⌒) 这也证明我的概率论真的学的很差劲&#xff0c;有时间一定要补补/(ㄒoㄒ)/~~ 算法不难证明难&#xff01; 当一个数足够大时&#xff0c;能不能用更少的空间来近似表示这个整数n&#xff0c;于是&…...

TCP/IP协议 【三次握手】过程简要描述

当建立TCP连接时&#xff0c;三次握手的作用简要描述如下&#xff1a; 第一次握手&#xff08;客户端向服务器发送SYN包&#xff09;&#xff1a;客户端发送SYN包给服务器&#xff0c;确认服务器是否在线并等待响应。 第二次握手&#xff08;服务器向客户端发送SYNACK包&…...

docker 数据管理,数据持久化详解 二 数据卷容器

数据卷和数据卷容器核心区别 持久性对比 数据卷&#xff1a;当您直接在启动容器时指定了一个数据卷&#xff08;例如&#xff0c;使用docker run -v /data&#xff09;&#xff0c;这个数据卷会自动创建&#xff0c;并且其内容会在容器停止或删除后继续存在。您可以随时通过Do…...

Logrotate:Linux系统日志轮转和管理的实用指南

Logrotate是Linux系统中用于自动化管理日志文件的强大工具&#xff0c;它能够高效、安全地轮转、压缩和清理日志文件&#xff0c;从而有效控制日志文件大小&#xff0c;节省磁盘空间&#xff0c;并显著提升系统可维护性和安全性。本文档将提供Logrotate的实用指南&#xff0c;涵…...

八股面试3(自用)

基本数据类型和引用数据类型区别 java中数据类型分为基本数据类型和引用数据类型 8大基本数据类型 1.整数&#xff1a;int&#xff0c;long&#xff0c;short&#xff0c;byte 2.浮点类型&#xff1a;float&#xff0c;double 3.字符类型&#xff1a;char 4.布尔类型&…...

【微服务】springboot3 集成 Flink CDC 1.17 实现mysql数据同步

目录 一、前言 二、常用的数据同步解决方案 2.1 为什么需要数据同步 2.2 常用的数据同步方案 2.2.1 Debezium 2.2.2 DataX 2.2.3 Canal 2.2.4 Sqoop 2.2.5 Kettle 2.2.6 Flink CDC 三、Flink CDC介绍 3.1 Flink CDC 概述 3.1.1 Flink CDC 工作原理 3.2 Flink CDC…...

【Android】浅析OkHttp(1)

【Android】浅析OkHttp&#xff08;1&#xff09; OkHttp 是一个高效、轻量级的 HTTP 客户端库&#xff0c;主要用于 Android 和 Java 应用开发。它不仅支持同步和异步的 HTTP 请求&#xff0c;还支持许多高级功能&#xff0c;如连接池、透明的 GZIP 压缩、响应缓存、WebSocke…...

Generate-on-Graph

目录 摘要1 引言2 相关工作4 不完整知识图谱问答&#xff08;IKGQA&#xff09;4.1 任务介绍4.2 数据集构建 5 Generate-on-Graph (GoG) 摘要 为了解决大型语言模型&#xff08;LLMs&#xff09;在知识不足和幻觉问题上的困扰&#xff0c;众多研究探索了将LLMs与知识图谱&…...

学习笔记——交换——STP(生成树)简介

一、技术背景 1、生成树技术背景 交换机单线路组网&#xff0c;存在单点故障(上左图)&#xff0c;上行线路及设备都不具备冗余性&#xff0c;一旦链路或上行设备发生故障&#xff0c;业务将会中断。 为了使得网络更加健壮、更具有冗余性&#xff0c;将拓扑修改为(上右图)接入…...

【Linux从入门到精通一】操作系统概述与Linux初识

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…...

Git 深度解析 —— 从基础到进阶

目录 1. Git 基础概念 1.1 版本控制 (Version Control) 1.2 分布式版本控制 (Distributed Version Control) 1.3 核心概念 1.4 Git 工作流程 2. Git 常用命令 2.1 初始化仓库 2.2 添加文件 2.3 提交修改 2.4 查看状态 2.5 查看历史记录 2.6 切换分支 2.7 创建分支…...

PCIE-变量总结

1.changed_speed_recovery&#xff1a; 表示链路双方已经将链路速率协商为更高的速率。 在configuration.complete状态下此变量会reset成0&#xff1b; 当前状态在recovery.rcvrlock状态&#xff1a; 在经过24ms的timeout之后&#xff0c;任何一个已经configured的lane&…...

【iOS】AFNetworing初步学习

文章目录 前言OC的网络请求步骤单例封装网络请求使用AFNetworking进行网络请求 前言 在暑假&#xff0c;学习了一些简单的网络请求的内容&#xff0c;本周学习了AFNetworking的基本使用&#xff0c;通过本篇博客进行一个简单的介绍。 OC的网络请求步骤 简单的网络请求主要有…...

【数据结构】堆的创建

Heap.h #include<stdio.h> #include<stdlib.h> #include<stdbool.h> #include<assert.h>//创建堆结构体 typedef int HPDateType; typedef struct Heap {HPDateType* a;int size;int capacity; }HP;//堆的初始化 void HPInit(HP* php);//堆的销毁 voi…...

Linux下Git操作

一、基本命令 1、创建 git 目录&#xff08;工作区&#xff09; mkdir gitcode 2、创建本地仓库&#xff0c;生成 .git 隐藏目录 git init 3、设置配置项 git config user.name "xxx" git config user.email "....." 4、查看配置项 git config -l …...

缺失d3dx9_42.dll如何修复,d3dx9_42.dll故障的6种修复方法分享

在电脑使用过程中&#xff0c;许多游戏玩家和软件用户可能都遇到过d3dx9_42.dll丢失的问题。这个问题会导致游戏或软件无法正常运行&#xff0c;给用户带来诸多不便。本文将详细解读d3dx9_42.dll丢失的原因、影响及解决方案&#xff0c;帮助大家顺利解决这个问题。 一、d3dx9_4…...

深入理解Android WebView的加载流程与事件回调

文章目录 一、WebView 加载流程时序图二、WebView 加载流程回调函数说明三、AwContents3.1 主要功能和职责3.2 架构和实现3.3 使用场景 四、利用WebView回调函数检测白屏4.1 使用onPageStarted和onPageFinished检测加载时间4.2 利用onReceivedError和onReceivedHttpError检测加…...