Node.js - Problema con NodeJS y MongoDB usando mongoose

 
Vista:

Problema con NodeJS y MongoDB usando mongoose

Publicado por Diesan Romero (1 intervención) el 13/06/2017 16:06:40
tengo un problema, la base de datos esta conectada pero cuando envio los datos me dice: 'Usuario' is not define. :(


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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
const express = require('express');
const bodyParser = require('body-parser');
const pug = require('pug');
const db = require('mongoose');
const app = express();
const Schema = db.Schema;
 
 
//vistas y configuracion
app.set('view engine', 'pug')
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json());
app.use(express.static('public'));
 
 
 
 
const usuarios = Schema({
    name:String,
    password:String
})
 
 
db.model('Usuario', usuarios)
 
 
	//peticiones HTTP
app.get('/', (req,res) => {
	res.render('index');
	console.log('Hiciste una peticion GET');
});
 
app.get('/register', (req, res) => {
    res.render('register')
})
 
 
app.post('/', (req,res) => {
	console.log('POST /api/product')
    console.log(req.body)
 
    let user = new Usuario()
    user.email = req.body.email
    user.password = req.body.password
 
    user.save((err,saved) =>{
        if(err) res.status(500).send({message: "Error al salver "})
        res.status(200).send({user: saved})
        })
   });
 
 
db.createConnection('mongodb://localhost:27017/project', (err, res) =>{
    app.listen(80, 'localhost', () => {
        console.log("Servidor iniciado correctamente en:  puerto 80");
    })
 
    if (err) {
        console.log("Error al conectar a la base de datos");
    }else{
       console.log("Base de datos conectada")
    }
});



Y este es mi archivo pug del cual hago la peticion POST
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
extends ./layouts.pug
block contenido
	body
		div(class="container")
			form(action='/', method="POST", class="form-signin")
				.container
					form.form-signin
					h2.form-signin-heading Please Login
					label.sr-only(for='inputEmail') Email address
					input#inputEmail.form-control(type='email', placeholder='Email address', ref="email", name="email" required, autofocus='')
					label.sr-only(for='inputPassword') Password
					input#inputPassword.form-control(type='password', ref="password", placeholder='Password', required, name="password")
					.checkbox
					label
					input(type='checkbox', value='remember-me')
					|  Remember me
					a.btn.btn-sm.btn-secondary.btn-block(href="/register") Sign Up
					button.btn.btn-lg.btn-primary.btn-block(type='submit') Log in

Que puedo hacer para resolver el problema?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Problema con NodeJS y MongoDB usando mongoose

Publicado por Daniel (1 intervención) el 01/08/2017 19:23:49
Buenas, igual llego un poco tarde...

Tendrías que asignar db.model('Usuario', usuarios) a la variable Usuario para poder usarla después como new Usuario

1
2
3
const Usuario = db.model('Usuario', usuarios);
...
let user = new Usuario();

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar