Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PM2 | App [Lerative] with id [0] and pid [27744], exited with code [1] via signal [SIGINT]
- PM2 | Starting execution sequence in -fork mode- for app name:Lerative id:0
- PM2 | App name:Lerative id:0 online
- 0|Lerative | ObjectParameterError: Parameter "obj" to Document() must be an object, got function (req, res, next) {
- 0|Lerative | app.handle(req, res, next);
- 0|Lerative | }
- 0|Lerative | at new ObjectParameterError (/home/ec2-user/lerative-backend/node_modules/mongoose/lib/error/objectParameter.js:23:11)
- 0|Lerative | at model.Document (/home/ec2-user/lerative-backend/node_modules/mongoose/lib/document.js:54:11)
- 0|Lerative | at model.Model (/home/ec2-user/lerative-backend/node_modules/mongoose/lib/model.js:55:12)
- 0|Lerative | at new model (/home/ec2-user/lerative-backend/node_modules/mongoose/lib/model.js:3901:13)
- 0|Lerative | at model (/home/ec2-user/lerative-backend/node_modules/mongoose/lib/model.js:3899:16)
- 0|Lerative | at module.exports (/home/ec2-user/lerative-backend/api/models/index.js:5:5)
- 0|Lerative | at NativeConnection.<anonymous> (/home/ec2-user/lerative-backend/server.js:30:28)
- 0|Lerative | at Object.onceWrapper (events.js:254:19)
- 0|Lerative | at NativeConnection.emit (events.js:159:13)
- 0|Lerative | at /home/ec2-user/lerative-backend/node_modules/mongoose/lib/connection.js:860:13
- 0|Lerative | at connectCallback (/home/ec2-user/lerative-backend/node_modules/mongoose/node_modules/mongodb/lib/mongo_client.js:515:5)
- 0|Lerative | at /home/ec2-user/lerative-backend/node_modules/mongoose/node_modules/mongodb/lib/mongo_client.js:430:11
- 0|Lerative | at _combinedTickCallback (internal/process/next_tick.js:131:7)
- 0|Lerative | at process._tickDomainCallback (internal/process/next_tick.js:218:9)
- mongoose.Promise = global.Promise;
- mongoose.connect(mongoURL, { useMongoClient : true});
- // configure app to use bodyParser()
- // this will let us get the data from a POST
- app.use(bodyParser.urlencoded({ extended: true }));
- app.use(bodyParser.json());
- var port = process.env.PORT || 3000; // set our PORT
- // REGISTER ROUTES
- // all of our routes will be prefixed with /api
- // START THE server
- // ============================================================
- var db = mongoose.connection;
- db.on('error', console.error.bind(console, 'connection error:'));
- db.once('open', function() {
- require('./api/models')(app, db);
- require('./api/routes')(app, db);
- app.listen(port, () => {
- console.log('We are live on ' + port);
- });
- });
- var mongoose = require('mongoose');
- var Schema = mongoose.Schema;
- var userSchema = Schema({
- firstName: { type:String, required: [true, 'First name is empty.']},
- lastName : { type:String, required: [true, 'Last name is empty.']},
- username : { type:String, required: [true, 'Username is empty.']},
- password : { type:String, required: [true, 'Password is empty.']},
- mail : { type:String, required: [true, 'Mail is empty.']},
- created_at: { type: Date, default: new Date() },
- updated_at: { type: Date, default: new Date() },
- interests: [],
- readingLists: [],
- library: {},
- contributions: []
- });
- module.exports = mongoose.model('User', userSchema,'User');
- // routes/user_routes.js
- const User = require("../models/user_model");
- const ObjectID = require('mongodb').ObjectID;
- module.exports = function(app, db) {
- // GET USER WITH ID
- app.get('/user/:id', (req, res) => {
- const id = { '_id' : new ObjectID(req.params.id) };
- User.findById(req.params.id, (err, user) => {
- if (err) {
- res.status(500).send(err); // 500 means database error
- }
- if (user) {
- res.status(200).send(user); // 200 means success
- }else {
- res.status(404).send("No user found with this ID.");
- }
- });
- });
- // POST -- CREATE NEW USER
- app.post('/user', (req, res) => {
- let newUser = new User(req.body);
- newUser.save((err, createdUser) => {
- if (err) {
- res.status(500).send(err);
- }else {
- // This createdUser is the same one we saved, but after Mongo
- // added its additional properties like _id.
- res.status(200).send(createdUser);
- }
- });
- });
- // DELETE EXISTING USER
- app.delete('/user/:id', (req, res) => {
- const id = { '_id' : new ObjectID(req.params.id) };
- User.findByIdAndRemove(req.params.id, (err, user) => {
- if (err) {
- res.status(500).send(err);
- }else {
- res.status(200).send({ 'message' : req.params.id + 'successfully deleted.' });
- }
- });
- });
- // PUT - UPDATE EXISTING USER
- app.put('/user/:id', (req, res) => {
- const id = { '_id' : new ObjectID(req.params.id) };
- User.findByIdAndUpdate(id, req.body, (err, user) => {
- if (err) {
- res.status(500).send(err);
- }else {
- res.status(200).send(req.body);
- }
- });
- });
- };
Add Comment
Please, Sign In to add comment