python + mongodb使用入门

news2024/12/26 21:54:49

最近用了下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"替换为您想要设置的管理员密码。
在这里插入图片描述

先记录到这吧,,

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

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

相关文章

LeetCode刷题日志-30串联所有单词子串

最简单的思路就是,将words里的单词全排列,然后在s中比对,但是复杂度太高阶乘级别。 如何优化? 题目说明子串是包含words中所有单词,且任意顺序,我们可以使用一个map来存储words中每个单词以及对应数量&…

wyler水平仪维修WYLER倾角仪维修CH-8405

瑞士WYLER电子水平仪维修;BIueCLINO倾斜度测量仪维修;wyler电子倾角仪维修。 水平仪常见故障及处理方法 1、 仪表通电不工作。 A、检查仪表220V电源端子接线是否正确 B、检查仪表电容是否熔断; C、拧下仪表后的固定螺钉,将表…

Android笔记(十六):前台服务

设置服务为前台服务。前台服务会在状态栏显示一个通知。通知界面与服务进行关联。 一、什么是通知? Notification通知是在移动应用APP提供给用户的消息提示,是在移动系统的通知栏中显示。当移动应用不在运行时或者在后台状态下,通过发布通知…

Python快速实现BMI(身体质量指数)计算器(窗口界面形式)

BMI是身体质量指数(Body Mass Index)的缩写,是一种衡量人体肥胖程度的指标。它是根据人的身高和体重计算得出的,公式为: BMI 体重(kg)/ 身高^2(m) 其中,体…

有它再也不用PS制作企业期刊了!

随着互联网的发展,越来越多的人开始使用在线工具来制作企业期刊。但是,对于一些新手来说,使用PS等专业的图像处理软件可能会感到非常困难。那么,有没有一种简单易用的方法来制作企业期刊呢?答案是肯定的! 所…

老师选班干部的方法

我经常被问到这样一个问题:“老师,你怎么选班干部的?”那我就来分享一下我的经验吧,希望能给广大教师朋友提供一些参考。 选班干部之前先要明确一点,班干部是做什么的?有什么职责。班干部是班级的核心力量&…

什么是gRPC

gRPC(gRPC Remote Procedure Call)是由 Google 开发的开源 RPC 框架,它基于 HTTP/2 标准,使用 Protocol Buffers 作为接口定义语言(IDL)。gRPC 提供了一种高效、跨语言、跨平台的远程过程调用(R…

如何制作一个数字人?流程是怎样的?

​​虚拟人概念从早期动漫领域的初音未来用一首《甩葱歌》让绿色双马尾的“歌姬”形象火出圈,到洛天依登上央视春晚舞台,再到众多虚拟歌手、虚拟主播、KOL、代言人等活跃于各种情境中。 去年以来,元宇宙和虚拟人技术进入全球科技产业的聚光灯…

牛客算法心得——abb(dp)

大家好,我是晴天学长,传智杯的题,我准备写一个题解,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1) .abb leafee 最近爱上了 abb 型语句,比如“叠词词”、…

量化误差的测量

因为转换的精度有限,所以将模拟值数字化时会不可避免地出现量化误差。量化误差由转换器及其误差、噪声和非线性度决定。当输入信号和计数器时基有区别时就会产生量化误差。根据输入信号的相位和计数器时基的匹配程度,计数器有下列三种可能性:…

光伏设计软件操作指南

在能源产业的变革中,光伏将成为未来最大的绿电来源。光伏电站未来25年的发电量、后期的运维等,都需要借助严谨的设计。光伏设计软件可以帮助设计者减少工作量,降低人工计算的错误,使得数据更精确。 1.了解软件构成 光伏设计软件专…

Carbonyl ,一个可以在终端里运行的浏览器

浏览器对于我们的日常来说是使用频率比较高的一个东西。 一般来说,对于桌面的发行版的linux的浏览器,用的比较多的是Firefox浏览器。对于我们日常windows、mac等。常用的有chrome、edge等。 但是!在终端里运行一个浏览器,我想大多…

8.0 新特性 - Generated Invisible Primary Key

文章目录 说明1. GIPK 介绍1.1 参数设置2.2 可见性测试2.3 修改元数据可见性2.4 修改查询可见性 2. GIPK 测试2.1 Binlog 分析2.2 主从复制2.3 逻辑备份2.4 其它限制2.4.1 AUTO_INCREMENT 属性2.4.2 my_row_id 关键字 后记 说明 MySQL Innodb 引擎采用的是 IOT(索引…

记录:Unity脚本的编写9.0

目录 射线一些准备工作编写代码 突然发现好像没有写过关于射线的内容,我就说怎么总感觉好像少了什么东西(心虚 那就在这里写一下关于射线的内容吧,将在这里实现射线检测鼠标点击的功能 射线 射线是一种在Unity中检测碰撞器或触发器的方法&am…

作为搜索引擎,TikTok超过了谷歌

Rise at Seven通过分析不同行业的数千个关键词进行了研究,突出了用户在TikTok上搜索的100个单词和短语,比在谷歌上搜索的更多。 虽然承认“near me”和“what’s on”的搜索查询仍然是谷歌上最突出的搜索查询,但Rise at Seven得出的结论是&a…

11-28 SpringBoot1

约定大于配置 简化Spring开发, spring boot致力于简洁,让开发者写更少的配置,程序能够更快的运行和启动。它是下一代javaweb框架,并且它是spring cloud(微服务)的基础。dev-ops:开发者,运维者。 springboot特点:优点面试重点 1)为基于Spring…

一键上传,无限容量!打造高效图床工具,利用Electron和Gitee搭建自己的私人云存储空间

说在前面 平时写文章或写代码的时候,都少不了需要将本地图片转成在线图片链接,大家都是使用什么工具进行转换的呢?相信很多人都有自己的图床工具,今天来给大家介绍一下,怎么基于Gitee和Electron来开发一个便捷的图床工…

消除笔怎么用?手把手教你一键智能消除杂物

消除笔怎么用?消除笔是一种非常实用的工具,可以帮助我们快速修复图片中的小问题。无论是想要消除照片中的路人还是进行一些修改,消除笔都可以轻松地帮助我们实现。 以下是使用消除笔的步骤: 1、打开水印云软件,并在工具…

ArkTS-时间滑动选择器弹窗

时间滑动选择器弹窗 以24小时的时间区间创建时间滑动选择器,展示在弹窗上。 示例 useMilitaryTime: 展示时间是否为24小时制,默认为12小时制。默认值:false Entry Component struct TimePickerDialogExample {private selectTime: Date new …

基于SSM乡镇自来水收费系统的设计与实现

摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对乡镇自来水收费信息管理混乱,出错率高,信息安…