Advertisement
Guest User

Untitled

a guest
Mar 7th, 2016
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.87 KB | None | 0 0
  1. var express = require('express');
  2. var app = express();
  3.  
  4. var mongoose= require('mongoose');
  5. var User = require('./app/models/user');
  6.  
  7.  
  8. //logs
  9. var logs = {};
  10. function log(key, value){
  11. logs[key]=value;
  12. }
  13.  
  14. //app configuration
  15. var ipaddr = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1';
  16. var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
  17.  
  18. //mongodb configuration
  19. var mongoHost = process.env.OPENSHIFT_MONGODB_DB_HOST || 'localhost';
  20. var mongoPort = process.env.OPENSHIFT_MONGODB_DB_PORT || 27017;
  21. var mongoUser = process.env.OPENSHIFT_MONGODB_DB_USERNAME; //mongodb username
  22. var mongoPass = process.env.OPENSHIFT_MONGODB_DB_PASSWORD; //mongodb password
  23. var mongoDb = process.env.OPENSHIFT_APP_NAME; //mongodb database name
  24.  
  25. //connection strings
  26. var mongoString = 'mongodb://' + mongoUser + ':' + mongoPass + '@' + mongoHost + ':' + mongoPort + '/' + mongoDb;
  27.  
  28.  
  29. mongoose.connect(mongoString, function(err) {
  30. if (err) {
  31. log('createConnection err',err);
  32. }
  33. });
  34.  
  35.  
  36. var chris = new User({
  37. name: 'Chris',
  38. username: 'sevilayha',
  39. password: 'password'
  40. });
  41.  
  42. log('chris',chris);
  43.  
  44. chris.dudify(function(err, name) {
  45. if (err) throw err;
  46. log('Your new name is ' + name);
  47. });
  48.  
  49.  
  50. app.get('/db', function(req, res) {
  51. User.find({ username: 'sevilay' }, function(err, user) {
  52. if (err) throw err;
  53. if(user[0] == null){
  54. chris.save(function(err) {
  55. if (err) {
  56. log('User saved successfully!',err);
  57. throw err;
  58. }
  59. });
  60. } else {
  61. // object of the user
  62. log('search result',user);
  63. }
  64. });
  65. });
  66.  
  67. app.get('/logs', function(req, res) {
  68. res.status(200).send(logs);
  69. });
  70.  
  71.  
  72. // app is running!
  73. app.get('/', function(req, res) {
  74. res.status(200).send('OK');
  75. });
  76.  
  77.  
  78. app.get('/mongo', function(req, res) {
  79. User.find({ username: 'sevilayha'}, function(err, data){
  80. if (err) {
  81. log('User.find err',err);
  82. res.status(500).send('NOT OK' + JSON.stringify(err));
  83. } else {
  84. log('user.find data',data);
  85. res.status(200).send(JSON.stringify(data));
  86. }
  87. });
  88. });
  89.  
  90. app.listen(port, ipaddr);
  91.  
  92. var mongoose = require('mongoose');
  93. var Schema = mongoose.Schema;
  94.  
  95. var userSchema = new Schema({
  96. name: String,
  97. username: { type: String, required: true, unique: true },
  98. password: { type: String, required: true },
  99. admin: Boolean,
  100. location: String,
  101. meta: {
  102. age: Number,
  103. website: String
  104. },
  105. created_at: Date,
  106. updated_at: Date
  107. });
  108.  
  109. userSchema.methods.dudify = function() {
  110. this.name = this.name + '-dude';
  111. };
  112.  
  113. // on every save, add the date
  114. userSchema.pre('save', function(next) {
  115.  
  116. var currentDate = new Date();
  117. this.updated_at = currentDate;
  118. if (!this.created_at) this.created_at = currentDate;
  119. next();
  120. });
  121.  
  122.  
  123. var User = mongoose.model('User', userSchema);
  124.  
  125. module.exports = User;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement