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

python + mongodb使用入门

最近用了下mongodb ,简单做个记录:

1.启动系统mongo服务
mongod -f mongod.conf

其中 mongod.conf 是配置文件,示例如下:

dbpath=/youpath/data/db   #数据库保存位置
logpath=/youpath/data/mongod.log #日志
logappend=true  
fork=true  #后台
2. 如何使用 python 创建一个名为 ‘mydatabase‘ 的数据库,并在该数据库里面建一个子库 “mycollection”:

实际上用mongo命令创建数据库和子库也比较简单:

use mydatabase
db.createCollection("mycollection")  
show dbs

使用Python创建如下, 示例 python test.py

from pymongo import MongoClient  # 连接到MongoDB数据库  
client = MongoClient('mongodb://localhost:27017/')  # 创建一个新的数据库  
db = client['mydatabase']  # 创建一个新的集合  
collection = db['mycollection']  # 插入数据  
data = {  'name': 'John',  'age': 30,  'city': 'New York'  
}  
result = collection.insert_one(data)  # 打印插入的数据的ID  
print('Inserted data ID:', result.inserted_id)  

运行完上述可以看到数据库已经存在了,使用 db.mycollection.find() 也可以查看到我们插入的内容。
在这里插入图片描述

3. 如何使用Python插入数据到上面创建好的数据库中

示例: python insert.py

from pymongo import MongoClient  
# 要保存的数据  
data = [  {  'name': 'John',  'age': 30,  'city': 'New York'  },  {  'name': 'Jane',  'age': 25,  'city': 'Los Angeles'  }  
]  # 连接到MongoDB数据库  
client = MongoClient('mongodb://localhost:27017/')  # 选择数据库  
db = client['mydatabase']  # 选择集合  
collection = db['mycollection']  # 插入数据  
result = collection.insert_many(data)   #插入多条使用insert_many , 如果只有一条使用insert_one# 打印插入的数据的ID列表  
print('Inserted data IDs:', result.inserted_ids)  

可以运行Python代码可以看到结果已经插入到数据库中了
在这里插入图片描述

4.删除创建的mongo数据库

连接到MongoDB实例。在命令行中使用mongo命令连接到MongoDB实例。
选择要删除的数据库。使用以下命令选择要删除的数据库:

use mydatabase

请将"mydatabase"替换为实际的数据库名称。
删除数据库。使用以下命令删除数据库:

db.dropDatabase()  

运行此命令后,MongoDB将删除指定的数据库及其所有集合和数据。请注意,此操作是不可逆的,删除的数据无法恢复,所以请在执行此操作之前务必备份重要的数据。
确认数据库已成功删除。您可以使用以下命令列出所有的数据库,确认目标数据库已被删除:

show dbs  

如果目标数据库不再显示在列表中,表示数据库已成功删除。
在这里插入图片描述

5.创建管理员账号并设置用户密码

要给MongoDB数据库设置账号密码,您可以按照以下步骤进行操作:
启动MongoDB实例时,使用–auth选项启用身份验证。例如,使用以下命令启动MongoDB实例:

mongod --auth  
  1. 连接到MongoDB实例。在命令行中使用mongo命令连接到MongoDB实例:
mongo  
  1. 进入管理员数据库(admin)。使用以下命令切换到管理员数据库:
use admin  
  1. 创建一个管理员账号。使用以下命令创建一个管理员账号:
db.createUser(  {  user: "admin",  pwd: "admin_password",  roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]  }  
)  

你也将"admin"替换为您想要设置的管理员账号名称,"admin_password"替换为您想要设置的管理员密码。
在这里插入图片描述

先记录到这吧,,

相关文章:

python + mongodb使用入门

最近用了下mongodb ,简单做个记录: 1.启动系统mongo服务 mongod -f mongod.conf其中 mongod.conf 是配置文件,示例如下: dbpath/youpath/data/db #数据库保存位置 logpath/youpath/data/mongod.log #日志 logappendtrue fo…...

焊接专业个人简历(通用25篇)

如果大家想在焊接行业的求职中脱颖而出,轻松斩获心仪职位,参考这25篇通用的焊接专业个人简历案例,无论您是初学者还是资深焊工,都能从中找到适合自己的简历内容。参考这些简历,让您的求职之路更加顺畅。 焊接专业个人…...

c++学习第四讲---函数提高

1.函数默认参数&#xff1a; 在&#xff08; &#xff09;中将参数赋值&#xff0c;如果传值了&#xff0c;则用传入值&#xff0c;否则才用函数中默认参数。 例&#xff1a; int func(int a, int b 3, int c 3) {return a b c; } int main() {cout << func(1, 2)…...

如何使用cpolar+Plex在Windows系统上搭建私人媒体影音站点公网可访问

文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 用手机或者平板电脑看视频&#xff0c;已经算是生活中稀松平常的场景了&#xff0c;特别是各…...

FreeRTOS-软件定时器

软件定时器 在FreeRTOS中可以设置无数个软件定时器&#xff0c;都是基于系统滴答中断。 使用软件定时器需要指定时间&#xff1a;启动定时器和运行回调函数。启动定时器和运行回调函数的间隔为定时器的周期。 使用软件定时器需要指定类型&#xff1a;一次性&#xff08;回调函数…...

Lab 3: Recursion, Tree Recursion(CS61A 2020)

在网上没有lab3相应的答案&#xff0c;作者也卡蛮久 &#xff08;就此补充一下答案&#xff09; Q2: WWPD: Journey to the Center of the Earth Use Ok to test your knowledge with the following "What Would Python Display?" questions: python3 ok -q sr-ww…...

GVIM 配置 for begin/end class/endclass 等配对

有时候我们的代码很长&#xff0c;或者结构比较复杂&#xff0c;多个if/else 或者begin/end 快嵌套&#xff0c;为了阅读方便&#xff0c;利用gvim插件实现块跳转还是很有实用性的&#xff0c;下面的.vimrc的配置&#xff0c;简单方便。 使用方式&#xff1a; 将光标定位到块头…...

2024不收费的数据恢复软件EasyRecovery16

EasyRecovery2024是一款操作安全、用户可自主操作的数据恢复方案&#xff0c;它支持从各种各样的存储介质恢复删除或者丢失的文件&#xff0c;其支持的媒体介质包括&#xff1a;硬盘驱动器、光驱、闪存、硬盘、光盘、U盘/移动硬盘、数码相机、手机以及其它多媒体移动设备。能恢…...

【每日一题】找出叠涂元素

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;哈希表 写在最后 Tag 【哈希表】【数组】【2023-12-01】 题目来源 2661. 找出叠涂元素 题目解读 从左往右遍历 arr 给矩阵 mat 上色&#xff0c;在上色的过程中矩阵的某一行或者某一列的全部被上色了&#xff0c;返回…...

Qt面试题

1.QT信号槽机制的优缺点 优点&#xff1a; 1.类型安全&#xff1a;需要关联的信号槽的签名必须是等同的&#xff0c;即信号的参数类型和参数个数和接受该信号的槽的参数类型和参数个数相同。&#xff08;PS:信号函数的参数个数必须大于等于槽函数的参数个数&#xff09; 2.松…...

LeetCode:1038. 从二叉搜索树到更大和树(反向中序遍历 C++、Java)

目录 1038. 从二叉搜索树到更大和树 题目描述&#xff1a; 实现代码与解析&#xff1a; dfs 原理思路&#xff1a; 1038. 从二叉搜索树到更大和树 题目描述&#xff1a; 给定一个二叉搜索树 root (BST)&#xff0c;请将它的每个节点的值替换成树中大于或者等于该节点值的所…...

【文末送书】Python OpenCV从入门到精通

文章目录 &#x1f354;简介opencv&#x1f339;内容简介&#x1f6f8;编辑推荐&#x1f384;导读&#x1f33a;彩蛋 &#x1f354;简介opencv OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉库&#xff0c;提供了丰富的图像处理和…...

RabbitMQ 的七种消息传递形式

文章目录 一、RabbitMQ 架构简介二、准备工作 三、消息收发1. Hello World2. Work queues3. Publish/Subscrite3.1. Direct3.2. Fanout3.3. Topic3.4. Header 4. Routing5. Topics 大部分情况下&#xff0c;我们可能都是在 Spring Boot 或者 Spring Cloud 环境下使用 RabbitMQ&…...

开源免费跨平台数据同步工具-Syncthing

Syncthing是一款开源免费跨平台的文件同步工具&#xff0c;是基于P2P技术实现设备间的文件同步&#xff0c;所以它的同步是去中心化的&#xff0c;即你并不需要一个服务器&#xff0c;故不需要担心这个中心的服务器给你带来的种种限制&#xff0c;而且类似于torrent协议&#x…...

java语言中受检异常和非受检异常的区别是什么?

在Java语言中&#xff0c;异常可以分为两种类型&#xff1a;受检异常&#xff08;Checked Exception&#xff09;和非受检异常&#xff08;Unchecked Exception&#xff09;。 受检异常&#xff08;Checked Exception&#xff09;&#xff1a;这是编译器要求必须进行处理的异常…...

vue3 element-plus el-table表头冻结,表头吸顶

一.使用方式 在main.ts页面创建 vue指令 import { createSticky } from /utils/stickyconst app createApp(App)createSticky(app)...app.mount(#app);在el-table标签上使用 v-sticky <div class"table-box"><!--此处的 .table-box 是会出现滚动条的DOM元…...

mysql中删除数据后,新增数据时id会跳跃,主键自增id不连续

引言&#xff1a; 在使用MySQL数据库时&#xff0c;有时候我们需要删除某些记录&#xff0c;但是删除记录后可能会导致表中的id不再连续排序。 如何实现删除记录后让id重新排序的功能。 如图&#xff1a; 删除数据后&#xff0c;中间的id不会自动连续。 下面有两种方法进行重…...

todesk连接ubuntu显示当前系统并无桌面环境,或无显示器,无法显示远程桌面,您需要自行安装X11桌面环境,或者使用终端文件功能

ToDesk远程遇到的问题如上图&#xff0c;换向日葵直接黑屏&#xff1b; 问题原因 截止发文时间&#xff0c;Todesk只支持X11协议&#xff0c;没有适配最新的Wayland协议&#xff0c;所以我们需要把窗口系统调整为X11才可以。 解决方法 修改配置文件&#xff0c;关闭wayland su…...

webpack学习-1.起步

webpack学习-1.起步 1.基础设置2.配置文件的引入3.总结 1.基础设置 首先 webpack是干嘛的呢&#xff0c;用官网的一张图 Webpack 是一个现代的静态模块打包工具。它主要用于将前端应用程序中的各种资源&#xff08;例如 JavaScript、CSS、图片等&#xff09;打包成一个或多个…...

GNU Radio 教程

初学者教程 GNU 无线电简介 什么是 GNU 无线电&#xff1f;安装 GNU 无线电你的第一个流程图 流程图基础知识 GRC 中的 Python 变量流程图中的变量运行时更新变量信号数据类型转换数据类型包装位流和向量层次块和参数 创建和修改 Python 块 创建你的第一个块带向量的 Pyt…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

MySQL JOIN 表过多的优化思路

当 MySQL 查询涉及大量表 JOIN 时&#xff0c;性能会显著下降。以下是优化思路和简易实现方法&#xff1a; 一、核心优化思路 减少 JOIN 数量 数据冗余&#xff1a;添加必要的冗余字段&#xff08;如订单表直接存储用户名&#xff09;合并表&#xff1a;将频繁关联的小表合并成…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...

Vue 模板语句的数据来源

&#x1f9e9; Vue 模板语句的数据来源&#xff1a;全方位解析 Vue 模板&#xff08;<template> 部分&#xff09;中的表达式、指令绑定&#xff08;如 v-bind, v-on&#xff09;和插值&#xff08;{{ }}&#xff09;都在一个特定的作用域内求值。这个作用域由当前 组件…...