zoukankan      html  css  js  c++  java
  • mongo 分片

    # -*- coding: utf-8 -*-
    from pymongo import MongoClient
    
    mongodb_uri = "mongodb://user:password@127.0.0.1:27017/?authSource=admin"
    
    client = MongoClient(mongodb_uri)
    
    for db_name in [
        "paper"
    ]:
        db = client[db_name]
        paper_name_list = list(paper_db.list_collection_names())
        paper_name_list.sort()
        for paper_name in paper_name_list:
            print(paper_name)
            col = db[paper_name]
            index_info = col.index_information()
            client.admin.command("shardCollection", f"{db.name}.{paper_name}", key={"_id": 1})
    db.createCollection("bioone");
    
    db.getCollection("bioone").createIndex({
        Year: NumberInt("1")
    }, {
        name: "Year_1"
    });
    db.createCollection("paper");
    
    db.getCollection("paper").createIndex({
        "author.id": NumberInt("1")
    }, {
        name: "author_id_index"
    });
    
    db.getCollection("paper").createIndex({
        "affiliation.id": NumberInt("1")
    }, {
        name: "affiliation_id_index"
    });
    
    db.getCollection("paper").createIndex({
        "first_author.id": NumberInt("1")
    }, {
        name: "first_author_id_index",
        partialFilterExpression: {
            "first_author.id": {
                $gt: NumberInt("0")
            }
        }
    });
    
    db.getCollection("paper").createIndex({
        "first_affiliation.id": NumberInt("1")
    }, {
        name: "first_affiliation_id_index",
        partialFilterExpression: {
            "first_affiliation.id": {
                $gt: NumberInt("0")
            }
        }
    });
    
    db.getCollection("paper").createIndex({
        "reference_list": NumberInt("1")
    }, {
        name: "reference_index"
    });
    
    db.getCollection("paper").createIndex({
        "venue.id": NumberInt("1")
    }, {
        name: "venue_id_index",
        partialFilterExpression: {
            "venue.id": {
                $gt: NumberInt("0")
            }
        }
    });
    
    db.getCollection("paper").createIndex({
        "journal.id": NumberInt("1")
    }, {
        name: "journal_id_index",
        partialFilterExpression: {
            "journal.id": {
                $gt: NumberInt("0")
            }
        }
    });
    
    db.getCollection("paper").createIndex({
        "conference_series.id": NumberInt("1")
    }, {
        name: "conference_series_id_index",
        partialFilterExpression: {
            "conference_series.id": {
                $gt: NumberInt("0")
            }
        }
    });
    
    db.getCollection("paper").createIndex({
        "conference_instance.id": NumberInt("1")
    }, {
        name: "conference_instance_id_index",
        partialFilterExpression: {
            "conference_instance.id": {
                $gt: NumberInt("0")
            }
        }
    });
    
    db.getCollection("paper").createIndex({
        "field.id": NumberInt("1"),
        "analysis.citation_count": NumberInt("1")
    }, {
        name: "field_id_index"
    });
  • 相关阅读:
    HDU 6187 Destroy Walls
    HDU1596 find the safest road
    美国机遇号失联已久,NASA想出一奇招,网友看后:这我上我也行!
    萨拉飞机或掉入恐怖深渊,那里满是核废料
    Problem : 恢复一棵树
    Problem : [tju1071]一个简单题
    Problem : 马农
    人类首个“触日”探测器绕日第二圈
    美国三岁男孩森林迷路两天 遇黑熊“热心帮忙”终获救
    世上最孤独鸭子去世
  • 原文地址:https://www.cnblogs.com/Mint-diary/p/14516281.html
Copyright © 2011-2022 走看看