MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Задайте малки файлове в ShardingTest

Един добър начин да определите как да използвате команда на обвивката на MongoDB е да въведете командата без скоби в обвивката и вместо да стартирате, тя ще отпечата изходния код за командата. Така че, ако стартирате

ShardingTest

в командния ред ще видите целия изходен код. Около ред 30 ще видите този коментар:

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

което ви дава правилния синтаксис за предаване на конфигурационни параметри за mongos, config и shards (които се отнасят за нерепликираните mongods за всички shards). Тоест, вместо да посочите номер за фрагменти, вие подавате в обект. По-нататъшно копаене в кода:

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

            numShards = tempCount;

Това ще вземе обект и ще използва поддокументите в обекта като опционални параметри за всеки шард. Това води до, използвайки вашия пример:

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

което от изхода виждам, че стартира фрагментите с --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

Като алтернатива, тъй като сега имате изходния код пред себе си, можете да промените javascript да предава малки файлове по подразбиране.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Използване на MongoDB срещу MySQL с много JSON полета?

  2. MongoDB получи поддокумент

  3. Mongo не може да стартира

  4. Обявяване на ClusterControl 1.4.2 - изданието DevOps

  5. Намиране на различни от колекции в mongodb