sharded.js
861 Bytes
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
'use strict';
const co = require('co');
co(function*() {
var Sharded = require('mongodb-topology-manager').Sharded;
// Create new instance
var topology = new Sharded({
mongod: 'mongod',
mongos: 'mongos'
});
yield topology.addShard([{
options: {
bind_ip: 'localhost', port: 31000, dbpath: `/data/db/31000`
}
}], { 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'
});
// Start up topology
yield topology.start();
// Shard db
yield topology.enableSharding('test');
console.log('done');
}).catch(error => {
console.error(error);
process.exit(-1);
});