首页 > 其他分享 >mongo升级服务,数据迁移迁移

mongo升级服务,数据迁移迁移

时间:2023-12-26 18:44:21浏览次数:27  
标签:join mongo getString JSONObject 升级 String import 迁移 string

3* 升级到5.* ,会碰到索引不兼容问题

 

use stars_sales

var collections = db.getCollectionNames();

collections.forEach(function(collection) {
var indexes = db[collection].getIndexes();
print("Indexes for collection " + collection + ":");
printjson(indexes);
});

 

 

解析索引

package local.local_test;

import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.toolkit.StringUtils;
import com.google.common.collect.Maps;

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class Test2 {

public static void main(String[] args) {
//test();
testNew();
}

private static void test() {
List<String> fileLine = ReadFileLine.getFileLine("D://3.txt");
StringBuffer sb=new StringBuffer();
for(String idx:fileLine) {
if(idx.indexOf("Indexes for collection")!=-1) {
sb.append(",");
}else {
sb.append(idx);

}
}
String join = "["+sb.toString()+"]";
join=join.replace(" ", "");
System.out.println(join+"/n");
JSONArray parseArray = JSON.parseArray(join);
Object object = parseArray.get(0);
System.out.println("开始/n");
for(Object item:parseArray) {
JSONArray g=(JSONArray)item;
for(Object gitem:g) {
JSONObject b=(JSONObject)gitem;
String idxResult=b.get("key").toString();
JSONObject ext=new JSONObject();
ext.put("name", b.getString("name"));
ext.put("background", true);
if(b.get("unique")!=null) {
ext.put("unique", true);
}
idxResult=idxResult+","+ext.toJSONString();
String col=b.getString("ns").substring(b.getString("ns").indexOf(".")+1);
System.out.println(b.getString("ns")+"\t"+col+"\t"+b.getString("name")+"\t"+"db."+col+".createIndex("+idxResult+")");
}
}
}
private static void testNew() {
List<String> fileLine = ReadFileLine.getFileLine("D://2.txt");

String join2 = String.join("", fileLine);
String[] split = join2.split("Indexes for collection ");
Map<String,String> result=Maps.newHashMap();
for(int i=0;i<split.length;i++) {
String string = split[i];
//System.out.println(string);
if(StringUtils.isEmpty(string)) {
continue;
}
result.put(string.substring(0,string.indexOf(":")), string.substring(string.indexOf(":")+1));
}
for(Entry<String, String> item:result.entrySet()) {
String key = item.getKey();
String value = item.getValue();
for(Object gitem:JSON.parseArray(value)) {
JSONObject b=(JSONObject)gitem;
System.out.println(key+"\t"+b.getString("name")+"\t"+b);
}
}
}
}

标签:join,mongo,getString,JSONObject,升级,String,import,迁移,string
From: https://www.cnblogs.com/leo3689/p/17929031.html

相关文章

  • Argo Rollouts Canary结合Istio进行流量迁移实例
    环境说明用argorollouts金丝雀发布策略更新nginx服务。发布过程结合Isito和analysis。创建nsargo-demo#kubectlcreatensargo-demonamespace/argo-democreated启用Istio自动注入功能#kubectllabelnamespaceargo-demoistio-injection=enablednamespace/argo-demolabe......
  • 使用Distcp进行Hadoop数据迁移
    使用Distcp进行Hadoop数据迁移DispCP官方文档在进行数据迁移前确认数据量大小和数据文件数,源端和目的端都需要确认:hdfsdfs-count/59790700822875716090/59790:表示目录/下的文件总数,即包括目录和文件在内的所有对象的数量。7008:表示目录/......
  • [升级] MySQL升级步骤及注意事项
    升级步骤a.备份数据库(包括schema,data,routines(function,triggersetc)b.修复util.checkForZSzerverUpgrade()发现的问题c.添加innodb_fast_shutdown=0来彻底的关闭mysqld.更新mysqlbinaries,可以使用tarball,RMP,mis等注意事项a.从5.7升级到8.0,或者在8.0.x之间升级可以......
  • ES 进行数据迁移 reindex (加速)
    https://www.cnblogs.com/ititit111222333/p/16382943.html 修改批量大小值POST_reindex{"source":{"index":"源索引名称","size":5000},"dest":{"index":"迁移的索引......
  • ABP-VNext 用户权限管理系统实战01---AuthServer服务迁移数据库到mysql
    一、从github上获取源码后修改命名空间下载dome后修改解决方案名为Bridge。 二、默认是连接sqlserver的,需要修改为可以连接mysql修改appsettings.json文件的ConnectionStrings参数,准备一个可以连接的mysql,新建数据库bridge{"ConnectionStrings":{"Default":"Server=xxx......
  • 界面控件DevExpress v23.2全新发布 - 全新升级的UI本地化API
    DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpressDashboardeXpressApp框架、适用于VisualStudio的CodeRush等一系列辅助工具。屡获大奖的软件开发平台DevExpress今年第一个重要版本v23.1正式发布,该版本拥有众多新产品和数十个具有高影响力......
  • Windows下安装MongoDB实践总结
    本文记录Windows环境下的MongoDB安装与使用总结。【1】官网下载官网下载地址:DownloadMongoDBCommunityServer|MongoDB这里可以选择下载zip或者msi,zip是解压后自己配置,msi是傻瓜式一键安装。这里我们分别对比进行实践。【2】ZIP包实践①解压将上面下载的ZIP包进行解压,如下所示......
  • C# 解决从其他地方迁移项目,引用中大多数包是感叹号的问题
    当在VisualStudio中复制别人的C#项目时,遇到许多包冒感叹号的问题通常是因为缺少相关的NuGet包或引用不正确导致的。这会在解决方案资源管理器中的引用下显示感叹号。解决办法如下:在VisualStudio中打开项目。在解决方案资源管理器中,找到项目中的引用文件夹。右击要修改......
  • OpenSSH7.4版本升级到7.8版本
    OpenSSH7.4版本升级到7.8版本置顶xiaohuai吖已于2023-05-1017:26:24修改阅读量1.5k收藏3点赞数文章标签:linuxssh版权项目被扫出openssh有严重漏洞,因此要升级openssh到7.8以上版本[root@localhost~]#ssh-VOpenSSH_7.4p1,OpenSSL1.0.2k-fips26Jan2017121,为了......
  • 将Gitlab迁移到内网Proxmox VE
    将Gitlab迁移到内网ProxmoxVE在一台服役超过15年得高龄服务器上,运行了一套Gitlab11.0,因为使用的人比较少,访问不频繁,未将其加入到高可用集群平台。但是最近以来,开发人员经常反馈Gitlab不能使用,通过仔细排查,发现故障的原因是物理服务器运行一段时间后就死机。为了解决这个麻烦,计划......