summaryrefslogtreecommitdiffstats
path: root/node_modules/mongoose/tools/sharded.js
blob: 2b0cc04172e094882c5f1ab841b71be64e45e188 (plain) (blame)
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);
});