0
모델 폴더에 db.js와 empleado.js를 만들었습니다. db.js에는 연결할 수 있지만 empleado.js에는 연결할 수 없습니다.nodejs mongoose db에 연결 오류
$ node app
C:\Users\Dario\documents\02 - trabajo\97 - proyectos\test\app.js:14
empleado.setConnection(db);
^
TypeError: empleado.setConnection is not a function
at Object.<anonymous> (C:\Users\Dario\documents\02 - trabajo\97 - proyectos\
test\app.js:14:10)
at Module._compile (module.js:556:32)
at Object.Module._extensions..js (module.js:565:10)
at Module.load (module.js:473:32)
at tryModuleLoad (module.js:432:12)
at Function.Module._load (module.js:424:3)
at Module.runMain (module.js:590:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
는 app.js
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var routes = require('./routes/index');
var users = require('./routes/users');
var db = require('./model/db'); // DataBase Connection
var empleado = require('./model/empleado'); // Employee Data Model
empleado.setConnection(db);
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade'); // Utilizo Jade para vas views (vistas)
// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public'))); // Activamos un directorio de archivos estáticos
app.use('/', routes);
app.use('/users', users);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
// error handlers
// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
module.exports = app;
db.js
// Integro mongoose al proyecto
var mongoose = require('mongoose');
// Archivo de configuración de la Base de Datos
var config = require('../config/db');
// Armo el string de conección de la Base de Datos
var dbURI = 'mongodb://' + config.host + '/' + config.db;
// Conecto la Base de Datos
var db = mongoose.connect(dbURI);
// Gestionando eventos de conección a la Base de Datos
db.connection.on('connected', function() {
console.log('Mongoose conectado a ' + dbURI);
});
db.connection.on('error',function (err) {
console.log('Mongoose error de conección: ' + err);
});
db.connection.on('disconnected', function() {
console.log('Mongoose desconectado');
});
process.on('SIGINT', function() {
db.connection.close(function() {
console.log('Mongoose desconectado por finalización de la aplicación');
process.exit(0);
});
});
module.exports = db;
: 나는 empleado.js에 연결하지만 콘솔이 다음과 같은 오류를 표시하는 것이 수출 해요 empleado.js
var mongoose = require('mongoose');
exports.setConnection = function(connection) {
mongoose = connection;
}
var empSchema = new mongoose.Schema ({
nombre: String,
apellidos: String
});
var empModelo = mongoose.model('Empleado', empSchema, 'empleados');
module.exports = empModelo;
미리 감사드립니다. 은 내가 empleado.js
을 필요로 할 때 여기에 가장 좋은 방법은 몽구스를 전달하는 것이라고 생각 MongoDB를, 몽구스 및 NodeJS
연결이 empleado.js에 수출했지만, 'empleados'컬렉션은 – grandtjs
당신이 정교시겠습니까 연결에 표시되지 않는 이유는 무엇입니까? 모델을 사용하여 문서를 저장하려고 했습니까? 충돌이 수정 되었습니까? – andresk