首页 > 数据库 >mongodb第四篇:sharding

mongodb第四篇:sharding

时间:2022-11-02 18:56:18浏览次数:44  
标签:mongodb 数据库 db 开启 集合 key 分片 sharding 第四篇

开启分片:

1、先对数据库开启分片

切换到admin数据库,执行

db.runCommand({"enablesharding":"$db_name"})

2、再对数据库中某集合开启分片

切换到admin数据库,执行

db.runCommand({"shardcollection":"$db_name.$collection_name","key":{"xxx":1}}) 

numInitialChunks is only supported when the collection is empty and has a hashed field in the shard key pattern

在集合开启分片前,要保证shard key字段上已经建好了索引,否则会报错,且字段的升降序要一致。

创建索引:

db.$collectionName.createIndex(),创建时要指定字段的排序,1表示升序,-1表示降序。如db.col.createIndex({"title":1}),也可以指定多个字段,如db.col.createIndex({"title":1,"description":-1})

查看某数据库是否开启了分片:

第一种方式:sh.status(),这个命令会把开启分片的数据库、集合都列出来。

第二章方式:查询config库的databases集合,partitioned值为true,表示对应数据库开启了分区。

查看某集合是否开启了分片:

第一种方式:db.$collectionName.stats().sharded,会返回true或fasle。

第二种方式:通过查看数据分布来判断:db.$collectionName.getShardDistribution(),如果集合没有开启分片,则会报错,提示Collection xxx is not sharded。

第三种方式:sh.status(),这个命令会把开启分片的数据库、集合都列出来,还可以看到shard key。

第四种方式:查询config库的collections集合,这个集合包含了所有开启分片的集合,还可以看到shard key。

(ShardKeyNotFound) PlanExecutor error during aggregation :: caused by :: Failed to target upsert by query :: could not extract exact shard key

 

标签:mongodb,数据库,db,开启,集合,key,分片,sharding,第四篇
From: https://www.cnblogs.com/koushr/p/16852024.html

相关文章

  • Mongodb修改oplog大小--笔记
    MongoDB3.6之前oplog修改需要重启实例到非副本单实例模式,3.6开始可以使用命令replSetResizeOplog在线修改副本集成员的oplog大小。修改方式为:先修改从secondary节点开,然后......
  • MongoDB副本集搭建
    一、安装mongodb服务   1、下载mongodb二进制包,解压,移动到/usr/local/下。tarzxfmongodb-linux-x86_64-rhel70-4.4.17.tgzmvmongodb-linux-x86_64-rhel70-4.4......
  • 23.MongoDB地理位置检索
    MongoDB地理位置检索一、查询当前坐标附近的目标@TestpublicvoidqueryNear(){//1.以当前位置的经纬度为圆点GeoJsonPointpoint=newGeoJ......
  • 使用golang操作mongodb
    背景学习使用golang操作mongodb,主要是常见的增删改查。代码packagemainimport("context""fmt""log""go.mongodb.org/mongo-driver/bson"......
  • MongoDB随记
    正常情况下MongoDB的db就是mysql里的库;而collection就是mysql里的表(MongoDB的表名可以是用.分隔,比如aaa.bbb;但是注意自定义表不能以system.aaa格式);然后可视化工具在表名......
  • Linux学习笔记(第四篇)文件内容操作命令+正则表达式+重定向和管道
    ​​Linux学习笔记(第零篇)计算机基础​​Linux学习笔记(第零篇)Linux文件系统及ShellLinux学习笔记(第一篇)零散命令Linux学习笔记(第二篇)目录操作命令Linux学习笔记(第三篇)文件操......
  • Spring Boot 整合MongoDB
    安装Dockerhttps://www.cnblogs.com/zk2020/p/15547782.htmlDocker安装MondoDB#拉去镜像dockerpullmongo:latest#创建和启动容器。-d前台还是后台启动默认false......
  • linux 安装配置mongodb
    注意博文中,有log文件,或者文件夹命令错误https://www.cnblogs.com/mnote/p/8979299.htmlhttps://www.jianshu.com/p/348615ebb7b6https://developer.aliyun.com/article......
  • MongoDB - 简单了解
    什么是NoSQLNoSQL是一种非关系型数据库管理系统,不需要固定的架构,可以避免JOIN连接,并且易于扩展。NoSQL常用于具有庞大数据存储需求的分布式数据存储,通常是大数据和......
  • MongoDB 索引笔记
    索引(Index)合适的索引可以大大提高数据库搜索性能集合层面的索引支持复合键索引可以对多个字段进行排序复合索引:(A,B,C)可以支持的索引:{A},{A,B},{A,B,C}......