-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcreateDb.js
More file actions
46 lines (38 loc) · 1.14 KB
/
createDb.js
File metadata and controls
46 lines (38 loc) · 1.14 KB
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
46
var mongoose = require('./libs/mongoose');
//mongoose.set('debug', true);
var async = require('async');
async.series([
open,
dropDatabase,
requireModels,
createUsers
], function(err, results) {
console.log(arguments);
mongoose.disconnect();
process.exit(err ? 255 : 0);
});
function open(callback) {
mongoose.connection.on('open', callback);
}
function dropDatabase(callback) {
var db = mongoose.connection.db;
db.dropDatabase(callback);
console.log('DropDatabase: Ok');
}
function requireModels(callback) {
require('./models/user').User;
async.each(Object.keys(mongoose.models), function(modelName, callback) {
mongoose.models[modelName].ensureIndexes(callback);
}, callback);
}
function createUsers(callback) {
var users = [
{username: 'testOne', password: 'test1'},
{username: 'testTwo', password: 'test2'},
{username: 'testThree', password: 'test3'}
];
async.each(users, function(userData, callback) {
var user = new mongoose.models.User(userData);
user.save(callback);
}, callback);
}