You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					46 lines
				
				935 B
			
		
		
			
		
	
	
					46 lines
				
				935 B
			| 
											3 years ago
										 | 'use strict'; | ||
|  | 
 | ||
|  | const co = require('co'); | ||
|  | 
 | ||
|  | co(function*() { | ||
|  |   const Sharded = require('mongodb-topology-manager').Sharded; | ||
|  | 
 | ||
|  |   // Create new instance
 | ||
|  |   const topology = new Sharded({ | ||
|  |     mongod: 'mongod', | ||
|  |     mongos: 'mongos' | ||
|  |   }); | ||
|  | 
 | ||
|  |   yield topology.addShard([{ | ||
|  |     options: { | ||
|  |       bind_ip: 'localhost', port: 31000, dbpath: `/data/db/31000`, shardsvr: null | ||
|  |     } | ||
|  |   }], { replSet: 'rs1' }); | ||
|  | 
 | ||
|  |   yield topology.addConfigurationServers([{ | ||
|  |     options: { | ||
|  |       bind_ip: 'localhost', port: 35000, dbpath: `/data/db/35000` | ||
|  |     } | ||
|  |   }], { replSet: 'rs0' }); | ||
|  | 
 | ||
|  |   yield topology.addProxies([{ | ||
|  |     bind_ip: 'localhost', port: 51000, configdb: 'localhost:35000' | ||
|  |   }], { | ||
|  |     binary: 'mongos' | ||
|  |   }); | ||
|  | 
 | ||
|  |   console.log('Start...'); | ||
|  |   // Start up topology
 | ||
|  |   yield topology.start(); | ||
|  | 
 | ||
|  |   console.log('Started'); | ||
|  | 
 | ||
|  |   // Shard db
 | ||
|  |   yield topology.enableSharding('test'); | ||
|  | 
 | ||
|  |   console.log('done'); | ||
|  | }).catch(error => { | ||
|  |   console.error(error); | ||
|  |   process.exit(-1); | ||
|  | }); |