首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MongoDB-通过docker搭建一个用来练习的mongodb数据库

目前所在的公司,有部分数据是存储在MongoDB中的,而且目前今后的工作可能会偏向于验证数据,因此需要掌握对这个数据库的一些基本用法,怕有些操作到时候不敢直接在公司数据库上进行操作,先在自己服务器上学习一下基本的用法...老套路,这里推荐使用docker的方式来搭建这样一个数据库,具体操作如下: 1、下载最新镜像: docker pull mongo:latest ?...2、启动镜像 在服务器创建一个目录 用来存储数据做数据持久化 mkdir -p /root/docker_volume/mongodb/data docker run -itd --name mongodb...3、创建一个名为 admin,密码为 123456 的用户 docker exec -it mongodb mongo admin 创建一个名为 admin,密码为 123456 的用户。...4、通过navicat工具(非开源)连接mongodb数据库 ?

1.2K10

MongoDB的设计规范

MongoDB=JSON + Indexes MongoDB支持json格式的文档进行bson优化 03 和关系型数据库对比 ? 04 参数参考 ? ? ? ?...库名全部小写,禁止使用任何`_`以外的特殊字符,比如我们线上lp-pmm数据库 VI.集合名全部小写,禁止使用任何`_`以外的特殊字符 VII.如果评估单集合数据量较大,比如8亿以上的集合,可以将一个大集合拆分为多个小集合...,即mongodb的分库分表-sharding; VIII.MongoDB的集合拥有“自动清理过期数据”的功能 需在该集合中文档的时间字段增加一个TTL索引即可实现该功能 但需要注意的是该字段的类型则必须是...mongoDate() 一定要结合实际业务设计是否需要 IX.文档设计 文档中的key禁止使用任何`_`以外的特殊字符 禁止使用_id,如:向_id中写入自定义内容 X....后面直接导致业务接口超时; 查询只返回的字段 文档设计--内嵌文档最多内嵌一层 使用必要的用户验证登录 作者 北丐 MongoDB中文社区联席主席 数据库/大数据专家,主要负责培训、优化、问题分析解决和迁移

1.8K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MongoDB的设计模式策略

    MongoDB是一项通用工具,但它也并非完美。针对某些MongoDB不适用的场合,有时可选用设计模式来加以应对。...MongoDB是一个NoSQL文档数据库,在大多数情况下是一个相对理想的选择,即使是在其不适用的情况下,也仍然可以依靠下面所列举的这些设计模式来克服其局限性。...本文将针对我的另一篇文章《MongoDB的好坏恶》( MongoDB : The Good, The Bad, and the Ugly)中所提及的一些局限性,提供一个相对应的解决方案。 1....Bucketing模式 当文本含有一个不断增长的数组时,则使用Bucketing模式,例如指令。而指令线可能会扩展到超过文档大小的合理值。该模式经由编程方式处理,并通过公差计算触发。...在一个数据模型的树模式中,同一对象类型是该对象的子对象,这种情况下可以使用物化路径模型来以获取更高效的检索、查询。

    1.1K60

    MongoDB设计模式

    MongoDB是一个NoSQL文档数据库。 它是大多数用例的理想选择,然而当它不适用你的用例时,您仍然可以通过使用以下设计模式来克服它的一些限制。...此模式将增加“优先级1”服务器上的写入吞吐量,因为在写入集合时需要更新和插入较少的索引,而次节点将会有更少的索引更新并拥有一组针对其工作负载进行优化的内存工作集 2.应用级事务模式 MongoDB内部不支持事务和文档锁...但是我们可以通过应用逻辑来维护一个队列。 3.桶模式 当文档具有在一段时间内增长的数组时,请使用压缩模式。 例如:订单。 订单行可能增长以超过文档所需的大小。...良好的候选者不会经常或永远改变有用的值。 5.记得对反范式的数据进行更新和关系修复。...5.物化路径模式 如果您有一个数据模型的树型图,其中相同的对象类型是一个对象的子对象,则可以使用物化路径模式来进行更有效的搜索/查询。 下面给出了一个示例。

    1K100

    MongoDB 数据库的初探

    以前都是使用的是关系型数据库(mySQL,orcale等),今天对NOSQL进行了一下了解,下面我介绍一下NOSQL中的MongoDB数据的安装:   MongoDB的下载地址:http://www.mongodb.org...:数据存放的路径 --logpath :日志存放的文件,是一个文件而不是路径 --logappend :日志追加方式 --serviceName:windows下的服务名称 --serviceDisplayName...[密码]@[数据库IP]/[数据库] 例如:mongo://admin:admin@lcoalhost:/local 下面简单介绍一下一些命令的用法: show dbs: 查询数据库 show users...(db.create("用户名","用户密码","【用户角色】");) 当要新建一个数据库时可以作如下操作: use newdb;这样新建了newdb这个数据库只能操作,但是没有插入数据之前是不能够查询的到的...(show dbs;)只能够 你插入数据以后才能查询,执行: db.collection.insert({});执行条语句以后就可以通过show dbs; 查询了,新建一个新的collection也是一样的

    67120

    数据库MongoDB

    一、MongoDB简介   MongoDB是由c++语言编写的,是一个基于分布式文件存储的开源数据库系统,在高负载的情况下,添加更多的节点,可以保证服务器性能。...在MongoDB数据库中,集合就相当于mysql中的表,文档将相当于mysql中记录。   ...  3.1 配置存放数据的路径   首先需要我们在MongoDB文件夹下创建一个data文件夹,然后再在data文件夹下创建一个db的文件夹;其次打开cmd,进入D:\MongoDB\bin的目录下,... """ # 指定数据库 # MongoDB中还分为一个个数据库,我们接下来的一步就是指定要操作哪个数据库,在这里我以test数据库为例进行说明,所以下一步我们 # 需要在程序中指定要使用的数据库...# 指定集合 # MongoDB的每个数据库又包含了许多集合Collection,也就类似与关系型数据库中的表,下一步我们需要指定要操作的集合, # 在这里我们指定一个集合名称为students,学生集合

    3K20

    MongoDB数据库

    它是独立于语言之外的软件,可以通过 API去操作它。 常见的数据库软件有: mysql. mongoDB. oracle。 ?...1.5数据库相关概念 在一个数据库软件中可以包含多个数据仓库,在每个数据仓库中可以包含多个数据集合,每个 数据集合中可以包含多条文档(具体的数据)。...术语 解释说明 database 数据库,mongoDB数据库软件中可以建立多个数据库 collection 集合,一组数据的集合,可以理解为JavaScript中的数组 document 文档,一条具体的数据...,可以理解为JavaScript中的对象 field 字段,文档中的属性名称,可以理解为JavaScript中的对象属性 1.6 Mongoose第3三方包 使用Nodejs操作MongoDB数据库需要依赖...// 连接失败 .catch(err => console.log(err, '数据库连接失败')); 1.9 创建数据库 在MongoDB中不需要显式创建数据库,如果正在使用的数据库不存在,MongoDB

    2.6K10

    MongoDB-腾讯云MongoDB数据库

    腾讯云MongoDB数据库,稳定、弹性、安全、高性能的文档型数据库,兼容 DynamoDB 协议,满足您多样的业务需求 腾讯云MongoDB数据库详情点击查看 云数据库 MongoDB 简介 腾讯云数据库...MongoDB(TencentDB for MongoDB) 是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100% 完全兼容 MongoDB 协议,同时高度兼容 DynamoDB...,能在业务高峰时段帮助您支撑高并发请求量;您无需设计复杂的后端系统来满足高请求量,极大的简化了您的系统开发。...一键式创建和扩容,极大的提高了构建海量分布式存储系统的效率 兼容 DynamoDB 协议 DynamoDB 是一个支持文档和键值存储模型的且具有高可扩展性的 NoSQL 数据库服务。...读写分离 很多对数据及时性要求不是特别苛刻的应用,可通过购买 MongoDB 主实例的一个或者多个只读实例来实现读写分离需求,通过只读实例读操作来满足大量读应用需求,减轻主库压力。

    5.7K40

    MongoDB教程(十二):MongoDB数据库索引

    首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 引言 在数据库设计中,索引是提升查询性能的关键技术。...MongoDB 提供了丰富的索引类型和管理功能,以满足不同场景下的查询优化需求。...本文将深入探讨 MongoDB 索引的基本概念、类型、创建方法以及如何评估索引的效果,通过具体的案例代码展示索引的创建和使用过程,帮助你理解如何在 MongoDB 中有效地使用索引。...每个集合默认有一个 _id 索引,但根据应用需求,可能需要创建更多的索引。...,通过合理设计和使用索引,可以显著提高数据库的响应速度。

    23910

    python-Python与MongoDB数据库-MongoDB数据库的基本知识

    MongoDB是一种开源的、面向文档的NoSQL数据库,它使用JSON类似的文档格式存储数据。MongoDB具有高度的可伸缩性和性能,并且支持复杂的查询和聚合操作。...在Python中,我们可以使用pymongo驱动程序来连接和操作MongoDB数据库。MongoDB的基本概念在MongoDB中,数据存储在集合(Collection)中,集合类似于关系数据库中的表。...连接MongoDB数据库在Python中连接MongoDB数据库需要安装pymongo驱动程序。...数据库,并获取test_collection集合的引用。...然后,我们使用insert_one()方法将一个包含名称和年龄的文档插入到集合中。insert_one()方法返回一个InsertOneResult对象,其中包含新插入的文档的ID。

    74020

    mongoDB数据库的简单使用

    我的第一篇小文章,以前总是写Evernote。 mongodb属于非关系型数据库中的文档型数据库。...1、下载安装mongoDB,   文件自动 存放在这个目录下:C:\Program Files\MongoDB\Server\3.4\bin  (我用的win7) 2、在任意一个磁盘的根目录下创建一个文件夹...data,里面写入两个空文件夹:mongodb用来存储mongodb文件(把bin目录下的文件复制到这个文件夹下),另一个空文件夹mongo是用来存放数据库文件的,通过下面这行命令写入数据库文件:首先进入...3、进入mongodb文件夹下,执行mongo命令,然后可以查看数据库了,show dbs。...4、mongodb可视化工具robomongo,跨平台的, 5、use 数据库名字 ,使用某个数据库,如果没有就新建, 6、db  查看当前所在数据库, 7、插入数据:db.student.insert

    50620

    文档数据库 MongoDB

    MongoDB 它是一款开源、跨平台、分布式,具有大数据处理能力的文档数据库。由C++语言编写,主要解决的是海量数据的访问效率问题,为WEB应用提供可扩展的高性能数据存储解决方案。...当数据量达到50GB以上的时候,MongoDB的数据库访问速度是MySQL的10倍以上。 MongoDB在启动后会将数据库中的数据以文件映射的方式加载到内存中。...如果内存资源相当丰富的话,这将极大地提高数据库的查询速度,毕竟内存的I/O效率比磁盘高得多 通常来说,Python爬虫更适合使用MongoDB数据库,爬取的Json数据可以直接存入MongoDB,操作简单...://localhost:27017 连接MongoDB 输入命令 mongo 配置 MongoDB 服务 将MongoDB设置成Windows服务,每次开机MongoDB就能自动启动 创建一个配置文件位于...C:\mongodb\mongod.cfg,可指定一个目录 systemLog: destination: file path: E:\MongDb\log\mongod.log storage

    2K10

    MongoDB数据库安装

    MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。...MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 主要特点 MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。...监控 MongoDB提供了网络和系统监控工具Munin,它作为一个插件应用于MongoDB中。 Gangila是MongoDB高性能的系统监视的工具,它作为一个插件应用于MongoDB中。...spike.com,一个MTV网络的联营公司, spike.com使用MongoDB的。 Intuit公司,一个为小企业和个人的软件和服务提供商,为小型企业使用MongoDB的跟踪用户的数据。...当你进入mongoDB后台后,它默认会链接到 test 文档(数据库): 由于它是一个JavaScript shell,您可以运行一些简单的算术运算: 现在让我们插入一些简单的数据,并对插入的数据进行检索

    1.7K30

    初试MongoDB数据库

    集合(Collection):多个文档组成一个集合(collection),相当于关系数据库的表。...数据库(database):多个集合(collection),逻辑上组织在一起,就是数据库(database)。 一个MongoDB实例支持多个数据库(database)。...非关系型数据库使用方面: 数据模型比较简单 需要灵活性更强的后台系统 对数据库性能要求比较高 不需要高度的数据一致性 非关系型数据库主要适合小微型架构的使用 #数据库MongoDB安装 MongoDB(...非关系型数据库): 适合快速开发web应用而设计的数据库系统 设计目标是极简、灵活、经常在web应用栈的业务层被运用 它的数据模型是面向文档的,类似于json的结构 所以这个数据库中是各种各样的json...6364045.html https://www.cnblogs.com/chenlq/p/6515876.html #在命令行中使用MongoDB插入命令 MongoDB的组成: 数据库 数据库是一个仓库

    1.3K20

    MongoDB数据库(二)

    聚合(aggregate) 简单来说就是将上一次处理的结果交给下一个处理,最后一个处理完输出 我们将每一次的处理叫做管道。...) $skip:跳过前多少数量的文档 $unwind:将数据类型字段拆分 常用表达式 $sum:求和 $avg:平均值 $min:获取最小值 $max:获取最大值 $push:插入一个数组 $first...:获取第一个文档数据 $last:获取最后一个文档数据 实例: # 数据还是上一篇的stu中的数据 # 按照性别分组,并计算有多少人 db.stu.aggregate( {$group:{_id:"$sex...unwind:'$size'} ) 会输出: {"_id":1,"size":111} {"_id":1,"size":222} {"_id":1,"size":333} 索引 # 插入1000条数据,在MongoDB...') 查看时间,对比没有建立索引时候的时间,差距是很大的。

    1.5K20

    MongoDB数据库(一)

    前言:Mongodb数据库是一种非关系型数据库,之前我们学习的mysql是一种关系型数据库。 在爬虫中我们会时常用到mongoDB数据库。mongoDB的优点在于易扩展,高性能,灵活的数据了类型。...这里推介文章:www.cnblogs.com/tim100/p/6721415.html mongodb的基础命令 # 查看数据库 show dbs 或者 show databases # 进入一个数据库...use关键字 例如:use admin # 查看当前所在数据库 db # 删除一个数据库 db.dropDatabase() db代表当前数据库 # 如何创建一个数据库 use test1 就会创建一个...并且当我们test1中存在数据的时候,show dbs才会显示出这个数据库 mongodb中的数据类型 Object ID:文档ID String:字符串 Boolean:布尔值,true,false...,保证数据的唯一性,是一个16进制 不写_id会自动生成一个,写了就不会。

    1.2K40

    MongoDB数据库安全

    1、前言 前几天,我自己的项目myblog博客后台系统的MongoDB数据库被黑客删除了,新增了一个RREAD_ME_TO_RECOVER_YOUR_DATA的数据库,里面是一个叫做readme的collection...大概意思是你的数据库被我们删除了,你需要支付0.015比特币(约等于39262¥)来恢复你的数据,不然48小时后我们你的数据会被暴露,如果拒付你将面临巨额罚款。...当时我的数据库里面只有4张表,数据不太重要,由于需要在本地进行调试,因此没有设置密码。当时是在登录这个后台才发现被删除的,如果这种情况发生在公司,就会变得很可怕。...2、安全设置 2.1 开启authorization验证 2.1.1 第一步,开启权限验证 打开宝塔面板的MongoDB,进入配置文件 security: authorization: enabled...; 2.1.2 第二步,设置用户名、密码 // 进入控制台,运行mongo cd /www/server/mongodb/bin/ .

    1.2K20
    领券