1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| '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);
| });
|
|