sql >> Database teknologi >  >> NoSQL >> MongoDB

Indstil små filer i ShardingTest

En god måde at bestemme, hvordan man bruger en MongoDB shell-kommando, er at skrive kommandoen uden parentes i skallen, og i stedet for at køre vil den udskrive kildekoden til kommandoen. Så hvis du kører

ShardingTest

ved kommandoprompten vil du se hele kildekoden. Omkring linje 30 vil du se denne kommentar:

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

som giver dig den korrekte syntaks til at videregive konfigurationsparametre for mongos, config og shards (som gælder for ikke-replikaset mongods for alle shards). Det vil sige, at du i stedet for at angive et tal for shards sender i et objekt. Graver videre i koden:

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

            numShards = tempCount;

Dette vil tage et objekt og bruge underdokumenterne i objektet som indstillingsparametre for hvert shard. Dette fører til, ved hjælp af dit eksempel:

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

som ud fra outputtet jeg kan se starter shards med --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

Alternativt, da du nu har kildekoden foran dig, kan du ændre javascriptet til at sende små filer som standard.



  1. MongoDB Ordrer/salg aggregeringsgruppe pr. måned Sum Total + Antal felt

  2. Hvordan fjerner man en model fra mongoose?

  3. mongoose _id felt kan ikke slettes

  4. MongoDB:Fjernelse af et felt fra ALLE underdokumenter i et matrixfelt