mongoDB的安装与使用

news2025/7/28 0:06:59

MongoDB

安装MongoDB

官方网站:https://www.mongodb.com/try/download/community-kubernetes-operator2

软件安装

权限不足:https://www.javaclub.cn/database/56541.html

step1:

打开安装包直接点击Next

step2:继续点击Next

step3:点击自定义安装

step4:选择好安装路径,点击Next

step5:点击Next

step6:取消可视化界面勾线,直接点击Next安装

软件配置

step1:配置环境变量,找到MongoDB安装路径下的bin目录

step2:计算机--右击--属性--高级系统设置--环境变量--系统变量--path--新建,将bin目录复制进去即可

补充:进到data目录里面,新建两个文件夹,一个是db,一个是log

step3:以管理员打开cmd,输入mongod -dbpath "F:\MongoDB\data\db" -logpath "F:\MongoDB\data\log\mongo.log"

step4:重新打开一个cmd窗口,输入mongo来启动MongoDB shell 端

MongoDB操作

数据库相关操作

创建\删除数据库

use database_name
# 如果数据库不存在,则创建数据库,否则切换到指定数据库。

db.dropDatabase()
# 删除数据库之前,先进入数据库,之后执行
# 删除当前数据库

实例:

>use data_name
switched to db data_name
>db
data_name

如果你想查看所有数据库,可以使用 show dbs 命令:

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB

可以看到,我们刚创建的数据库 data_name并不在数据库的列表中, 要显示它,我们需要向 data_name 数据库插入一些数据。

增删改查操作

MongoDB中的一张表被称为一个集合

插入数据

  • 语法:

# db.集合名.insert({})  数据格式为json
db.demo.insert({name:"坤哥"})
# { "_id" : ObjectId("63465fb77811f81334940270"), "name" : "坤哥" }

在数据库demo中,我们可以先通过 show collections 命令查看已存在的集合:

use demo
# switched to db demo
show collections
# func1
# func2

查询数据

  • 语法:

# 查找所有
db.集合名.find()

# 条件查询
db.集合名.find({name:"坤哥"})

修改数据

db.集合名.insert({name:"李四",sex:"男",love:"篮球"})
# 将李四修改为坤哥
db.集合名.update({name:"李四"},{$set:{name:"阿坤"}})

删除数据

db.集合名.remove({name:"张三"})
  • 删除集合

db.集合名.drop()
true

MongoDB与python

  • 链接数据库pymongo pip install pymongo

import pymongo


class MongoDB(object):
    def __init__(self):
        # 建立连接
        self.client = pymongo.MongoClient(host="localhost", port=27017)
        # 指定数据库
        self.db = self.client["demo"]
	
    # 插入一条数据
    def add_one_data(self):
        result = self.db.func.insert_one({"name": "张三", "age": 18, "sex": "男"})
        print(result)
	#插入多条数据
    def add_many_data(self, data):
        result = self.db.func1.insert_many(data)
        print(result)
	
    # 查看数据
    def get_one_data(self):
        result = self.db.func1.find_one()
        print(result)
	# 查看多个数据
    def get_many_data(self):
        result = self.db.func1.find({"name":"李四"})
        for data in result:
            print(data)


if __name__ == '__main__':
    mdb = MongoDB()
    data = [
        {"name": "张三", "age": 58, "sex": "男", "love": "唱歌"},
        {"name": "李四", "age": 48, "sex": "男", "love": "跳舞"},
        {"name": "王五", "age": 38, "sex": "女", "love": "rap"},
        {"name": "赵六", "age": 28, "sex": "女", "love": "篮球"}
    ]
    mdb.get_many_data()

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Oracle 12C以上统计信息收集CDB、PDB执行时间不一致问题

文章目录前言一、统计信息窗口期调查二、时区调查三、查询alert记录四、why Database Statistic Collection Job is running two times inside a Maintenance Window?五、Default Scheduler Timezone Value In PDB$SEED Different Than CDB六、总结前言 在实际工作中发现一个…

Tina_Linux_功耗管理_开发指南

Tina Linux 功耗管理开发指南 1 概述 1.1 编写目的 简要介绍tina 平台功耗管理机制,为关注功耗的开发者,维护者和测试者提供使用和配置参考。 1.2 适用范围 表1-1: 适用产品列表产品名称内核版本休眠类型参与功耗管理的协处理器R328Linux-4.9NormalS…

ESP32设备驱动-MLX90393磁场传感器驱动

MLX90393磁场传感器驱动 文章目录 MLX90393磁场传感器驱动1、MLX90393介绍2、硬件准备3、软件准备4、驱动实现1、MLX90393介绍 MLX90393 磁场传感器可以在运行时重新编程为不同的模式和不同的设置。 该传感器使用 Melexis 专有的 Triaxis 技术提供与沿 XYZ 轴感应的磁通密度成…

Matplotlib之画图模块

目录 matplotlib简介 条形图 折线图 散点图 matplotlib简介 Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。 Matplotlib 可以用来绘制各种静态,动态,交互式的图表。 Matplotli…

OpenCV-PyQT项目实战(9)项目案例04:视频播放

欢迎关注『OpenCV-PyQT项目实战 Youcans』系列,持续更新中 OpenCV-PyQT项目实战(1)安装与环境配置 OpenCV-PyQT项目实战(2)QtDesigner 和 PyUIC 快速入门 OpenCV-PyQT项目实战(3)信号与槽机制 …

mars3d对geojson图层分属性设置样式

开发中可能会遇到如下需求,在全省的数据中按某个属性⾼亮展示某市区。此时就需要使⽤分属性样式的api了。⽂档如下。GeoJsonLayer - Mars3D API文档属性是根据⽮量数据的属性进⾏匹配。可以通过 layer.graphics[0]?.attr ⽅式获取。 指导有哪些属性之后先设置…

Spark3 新特性之AQE

文章目录Spark3 AQE一、 背景二、 Spark 为什么需要AQE? (Why)三、 AQE 到底是什么?(What)四、AQE怎么用?(How)4.1 自动分区合并4.2 自动数据倾斜处理4.3 Join 策略调整五、对比验证5.1 执行耗时5.2 自动分区合并5.3 自动数据倾斜处理六、结论Spark3 AQ…

电脑录屏怎么操作,操作步骤详解,2023新版

在日常的学习、生活和工作中,当小伙伴想要分享一段游戏视频或者教学视频时,电脑录屏就显得尤为重要了。但是小伙伴你是否知道电脑录屏怎么操作?今天小编就分享电脑录屏操作步骤的详细教程,一起来看看吧。 电脑录屏怎么操作1&#…

【剑指Offer】重建二叉树(递归+迭代)

重建二叉树一、递归法二、迭代法题目链接 题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例 1: Input: preorder [3,9,20,15,7], inorder [9,3,15,…

C进阶:7.程序环境和预处理

目录 1.程序的翻译环境和执行环境 2.详解编译 链接 2.1翻译环境 2.2编译本身也分为几个阶段: 2.3运行环境 3.预处理详解 3.1预定义符号 3.2 #define 3.2.1 #define 定义标识符 3.2.2 #define 定义宏 3.2.3 #define 替换规则 3.2.4 # 和 ## 3.2.5带副…

大规模食品图像识别:T-PAMI 2023论文解读

美团基础研发平台视觉智能部与中科院计算所展开科研课题合作,共同构建大规模数据集Food2K,并提出渐进式区域增强网络用于食品图像识别,相关研究成果已发表于T-PAMI 2023。本文主要介绍了数据集特点、方法设计、性能对比,以及基于该…

Unreal Engine 虚幻引擎,性能分析,优化(二)

一、CPU 性能分析 如渲染线程中出现 CPU 受限,原因可能是绘制调用过多。这是一个常见问题,美术师通常会将绘制调用进行组合,从而减少消耗(如:将多个墙壁组合为一个网格体)。实际消耗存在于多个区域中&…

Ubuntu 22.04.2 发布,可升级至 Linux Kernel 5.19

Ubuntu 22.04 LTS (Jammy Jellyfish) Ubuntu 22.04.2 发布,可升级至 Linux Kernel 5.19 请访问原文链接:Ubuntu 22.04 LTS (Jammy Jellyfish),查看最新版。原创作品,转载请保留出处。 作者主页:www.sysin.org 发行说…

file_get_contents 打开本地文件报错: failed to open stream: No such file or directory

php 使用file_get_contents时报错 failed to open stream: No such file or directory (打开流失败,没有这样的文件或目录) 1. 首先确保文件路径没问题 最好是直接复制一下文件的路径 2. windows电脑可以右键该文件 → 属性→安全 →对象名称 选中后复制一下 3. 然后…

【数据存储】浮点型在内存中的存储

目录 一、存储现象 二、IEEE标准规范 1.存储 2.读取 三、举例验证 1.存储 2.读取 浮点型存储的标准是IEEE(电气电子工程师学会)754制定的。 一、存储现象 浮点数由于其有小数点的特殊性,有很多浮点数是不能精确存储的,如&#…

【unittest学习】unittest框架主要功能

1.认识unittest在 Python 中有诸多单元测试框架,如 doctest、unittest、pytest、nose 等,Python 2.1 及其以后的版本已经将 unittest 作为一个标准模块放入 Python 开发包中。2.认识单元测试不用单元测试框架能写单元测试吗?答案是肯定的。单…

UNIAPP实战项目笔记58 注册成功信息存储到数据库

UNIAPP实战项目笔记58 注册成功信息存储到数据库 注册时候验证手机验证码 验证码通过后讲用户信息存入数据库 实际案例图片 后端接口文件 index.js var express require(express); var router express.Router(); var connection require(../db/sql.js); var user require(…

爱奇艺“资产重定价”:首次全年运营盈利是拐点,底层逻辑大改善

长视频行业历时一年有余的降本增效、去肥增瘦,迎来首个全周期圆满收官的玩家。 北京时间2月22日美股盘前,爱奇艺发布2022年Q4及全年财报,Q4 Non-GAAP净利润明显超越预期,且首次实现全年运营盈利。受业绩提振,爱奇艺盘…

SpringSecurity源码分析(二) SpringBoot集成SpringSecurity即Spring安全框架的执行过程

在上一篇文章中我们描述了SpringSecurity的执行过程。我们我们了解到了以下内容 在SpringSecurity框架中有三个非常核心的类和接口,分别是 1.SecurityFilterChain接口 2.FilterChainProxy类 3.DelegatingFilterProxy类 springboot项目中,客户端向Tomcat …

day51【代码随想录】动态规划之回文子串、最长回文子序列

文章目录前言一、回文子串(力扣647)二、最长回文子序列(力扣516)前言 1、回文子串 2、最长回文子序列 一、回文子串(力扣647) 给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目…