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"
    });
  • 相关阅读:
    Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. ......
    UVA 1597 Searching the Web
    UVA 1596 Bug Hunt
    UVA 230 Borrowers
    UVA 221 Urban Elevations
    UVA 814 The Letter Carrier's Rounds
    UVA 207 PGA Tour Prize Money
    UVA 1592 Database
    UVA 540 Team Queue
    UVA 12096 The SetStack Computer
  • 原文地址:https://www.cnblogs.com/Mint-diary/p/14516281.html
Copyright © 2011-2022 走看看