1.软文推荐

2.软文推荐

3.软文推荐

目录: 1、怎么连接mongodb的数据库 2、mongoDB分片集群 3、如何在命令行下操作MongoDB数据库 4、mongodb建立索引&查看索引&删除索引 5、如何打开已经创建的MongoDB数据库 6、如何向MongoDB中插入不重复的数据 怎么连接mongodb的数据库

MongoDB是由10gen团队开发的基于分布式存储的开源数据库系统,使用C++编写。MongoDB作为一个文档型数据库,其中数据以键值对的方式来存储。

下面我们来看下MogoDB的基本使用方法。

1、连接MongoDB数据库

使用如下命令来连接MongoDB数据库

mongo

连接MongoDB数据库

2、查看目前所使用的数据库。

在MongoDB中,想查看使用的是哪个数据库,可以使用如下命令来查看。

db

查看所使用的数据库

3、查看有哪些数据库。

在MongoDB中存在着许多个数据库,对于有哪些数据库,可以使用如下命令来查看。

show db

查看MongoDB中所有的数据库

4、创建数据库。

现阶段所存在的数据库如果不能满足要求,可以使用如下命令来创建新的数据库。

use database_name

其中database_name则代表所要创建的数据库名字,下面将演示创建一个名为offcn的数据库。

use offcn

创建offcn数据库

5、删除数据库

当数据库没有作用时,可以将数据库删除从而释放所占用的空间资源。使用如下命令来进行对数据库进行删除,在删除前应该先选中所要删除的数据库。

use offcn

db.dropDatabase()

删除数据库

mongoDB分片集群

集群 》 片 》 块 》 文档

一个集群由多个分片组成,一个分片存储了多个块(逻辑上的数据分块),一个快包含了多个文档,文档不是最小的单位,文档存了一个个的字段,一个字段或者多个字段可以组成一个片键

片键决定数据可以分成多少块

配置表里存的数据分布范围是怎么定的?

数据在逻辑上被分成了4块,加入系统存的是公司用户信息,按照年龄来分,18-60,一个年龄一个分块,最大可以分43块,在把块分到多个分片上,但是容易造成22-25的用户数据显得特别大,导致了热点片的情况

片键不是连续的而是通过hash散列到不同的片区,解决了数据不均匀的情况,但是范围查询效率低,需要遍历全部的分片才能满足业务查询,用户的订单系统,按照下单用户id去做hash,这样不同用户的订单数据就会被均匀分到不同的分片,单查某个用户的订单数据是非常高效的,但是根据时间范围去查就要扫描全部分片

根据地域去划分

切割器:可以对某个源分片的数据按chunk去做切割

平衡器:

当某些分片数据不均匀的情况下,平衡器就发挥作用了,他会发出一个命令让切割器去需要移动的分片上去做数据切割,再把数据移动到数据少的分片上。具体的步骤如下:

平衡器向源分片发送moveChunk的命令

源分片收到命令后,会启动自己内部的一个moveChunk命令,如果在数据移动过程中有客户端发来读写请求的话,都会发送到源分片。(因为配置服务器上的元数据还没有改变)

目标片开始向源分片请求将要移动的数据块的文档,准备拷贝文档数据。

当目标分片接收到据块的最后一个文档后,目标分片会启动一个同步进程来检查,是否已经拷贝完全部的文档。

当同步完成后,目标分片会连接配置服务器,更新元数据列表中数据块的地址。

当目标分片完成元数据更新后,源分片就会删除原来的数据块.如果有新的数据块需要移动的话,可以继续进行移动。

配置服务器会通知monogs进程更新自己的映射表。

数据容量日益增长,访问性能降低如何在命令行下操作MongoDB数据库

1、Help查看命令提示

[html] view plain copy

help

db.help();

db.yourColl.help();

db.youColl.find().help();

rs.help();

2、切换/创建数据库

[html] view plain copy

use yourDB;

当创建一个集合(table)的时候会自动创建当前数据库

3、查询所有数据库

[html] view plain copy

show dbs;

4、删除当前使用数据库

[html] view plain copy

db.dropDatabase();

mongodb建立索引&查看索引&删除索引

从Robo 3T可视化界面中,去创建mongodb数据表的索引。

1.数据表结构:{_id:value,   doc_city:value,    doc_province:value,   content,   judgementId}

2.content字段展开:

3.对content字段里的title/caseType/judgementType建立索引

db.getCollection('chongqing').createIndex({"content.title":1, "content.judgementType":1, "content.caseType":1})

4.让创建索引的过程在后台运行

db.getCollection('chongqing').createIndex({"content.title":1, "content.judgementType":1, "content.caseType":1},{background:true})

5.查询集合索引

db.getCollection('chongqing').getIndexes()

6.查看索引集合大小

db.getCollection('chongqing').totalIndexSize()

7.删除集合所有索引

db.getCollection('chongqing').dropIndexes()

8.删除集合指定索引

db.getCollection('chongqing').dropIndex('索引名')

如何打开已经创建的MongoDB数据库

1)列出当前的数据库

MongoDB shell version: 1.8.1

connecting to: test

show dbs --

admin 0.03125GB

local (empty)

  可以使用show dbs来列出当前有多少个数据库,上面看到的是有两个,分别是admin和local。

2) 定义新的数据库名

我们通过使用“use new-databasename”的语法去使用一个新的数据库,注意,即使你的数据库还没建立起来,依然可以这样使用,因为mongodb会在真正插入了数据后,才会真正建立起来。

use mkyongdb

switched to db mkyongdb

show dbs

admin 0.03125GB

local (empty)

 注意,在use mkyongdb后,mkyongdb实际上还没真正建立起来,只是表明目前是在使用mkyongdb了。

3)保存数据

定义一个collection,名为“users”,然后插入数据,如下:

db.users.save( {username:"mkyong"} )

db.users.find()

{ "_id" : ObjectId("4dbac7bfea37068bd0987573"), "username" : "mkyong" }

show dbs --

admin 0.03125GB

local (empty)

mkyongdb 0.03125GB

 可以看到,用db.users.find()可以找出已插入的数据。这个时候,名为“users”的collection已经建立起来了,同时,数据库mkyongdb也建立起来了。

如何向MongoDB中插入不重复的数据

每一条数据包含三项内容,

比如:mobile_num, name, time.

这三项数据组合在一起不能有重复的数据,但是单独的一项,比如mobile_num可能会有很多重复。

相关文章 8

1

中小企业上云解决方案 1分钟前

目录:1、如何给企业搭建云服务平台,并分析云服务给企业带来哪些效益2、中小企业数字化转型的第一步:先上云3、为什么中小企业需要...

2

国外专用服务器延迟太高怎么解决 2分钟前

目录:1、在国外玩王者荣耀怎么解决延迟?2、如何解决玩国外服务器延迟高的问题3、美国服务器延迟过高怎么办4、服务器延迟高怎么解决...

3

香港云服务器多少钱一个月 3分钟前

目录:1、香港云主机多少钱?2、公司打算租用一台香港服务器,不知道香港服务器的价格为什么那么贵?3、香港服务器多少钱?4、租用一...

4

美国服务器受欢迎的原因有哪些 5分钟前

目录:1、外贸建站为什么都推荐用美国服务器2、国外服务器租用,为什么都会选择美国服务器3、为什么美国服务器如此受欢迎的魔性原因...

5

高防服务器如何防护CC攻击 8分钟前

目录:1、高防服务器如何防御CC攻击?2、CC攻击有哪些特点以及如何防御CC攻击?3、cc攻击可以防么4、网站被cc攻击如何防御高防服务器如何...

6

java非对称算法有哪些 9分钟前

目录:1、非对称加密算法 (RSA、DSA、ECC、DH)2、非对称加密算法有哪些,安全性能对比3、java 非对称加密算法有哪些非对称加密算法 (RSA、D...

7

关键词挖掘站长工具 11分钟前

目录:1、常见的关键词挖掘工具有哪些2、站长工具 关键词挖掘?3、站长工具关键词搜索?常见的关键词挖掘工具有哪些 推荐几个长尾关键...

8

阿里云服务器2核8g价格 13分钟前

目录:1、8g2大核最高主频设置2、建网站租服务器得多少钱至少3、阿里云服务器一年多少钱?4、云服务器去哪买便宜5、云电脑政企版的数量...