sql >> Databáze >  >> NoSQL >> MongoDB

Nastavte malé soubory v ShardingTest

Dobrým způsobem, jak zjistit, jak používat příkaz Shell MongoDB, je napsat příkaz bez závorek do shellu a místo spuštění vytiskne zdrojový kód příkazu. Pokud tedy spustíte

ShardingTest

na příkazovém řádku uvidíte celý zdrojový kód. Kolem řádku 30 uvidíte tento komentář:

    // Allow specifying options like :
    // { mongos : [ { noprealloc : "" } ], config : [ { smallfiles : "" } ], shards : { rs : true, d : true } }

což vám dává správnou syntaxi pro předávání konfiguračních parametrů pro mongos, config a shards (které platí pro mongody bez repliky pro všechny fragmenty). To znamená, že místo zadání čísla pro úlomky, které předáváte v objektu. Kopání dále v kódu:

else if( isObject( numShards ) ){
            tempCount = 0;
            for( var i in numShards ) {
                otherParams[ i ] = numShards[i];
                tempCount++;
            }

            numShards = tempCount;

To vezme objekt a použije vnořené dokumenty v rámci objektu jako parametry volby pro každý fragment. To ve vašem příkladu vede k:

cluster = new ShardingTest({shards : {d0:{smallfiles:''}, d1:{smallfiles:''}, d2:{smallfiles:''}}})

což z výstupu, který vidím, začíná fragmenty pomocí --smallfiles:

shell: started program mongod --port 30000 --dbpath /data/db/test0 --smallfiles --setParameter enableTestCommands=1 
shell: started program mongod --port 30001 --dbpath /data/db/test1 --smallfiles --setParameter enableTestCommands=1 
shell: started program mongod --port 30002 --dbpath /data/db/test2 --smallfiles --setParameter enableTestCommands=1

Alternativně, protože nyní máte zdrojový kód před sebou, můžete upravit javascript tak, aby standardně předával malé soubory.



  1. Sada replik MongoDB s jednoduchým ověřením hesla

  2. MongoDB najde vnořený dokument a seřadí výsledky

  3. MongoDB k použití Sharding s $lookup Aggregation Operator

  4. Jak mohu používat Tornado a Redis asynchronně?