Javascript 无法在mongoDB中保存数据

Javascript 无法在mongoDB中保存数据,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,当试图保存在我的Mongo数据库中时,我无法记录数据,连接到DB是可以的,但它不会保存数据。 今天是我在Mongo的第一天,可能是配置错误 我的控制器 exports.nuevoCliente = async (req, res, next) => { // console.log(req.body); const paciente = new Paciente(req.body); try { await paciente.save();

当试图保存在我的Mongo数据库中时,我无法记录数据,连接到DB是可以的,但它不会保存数据。 今天是我在Mongo的第一天,可能是配置错误

我的控制器

exports.nuevoCliente = async (req, res, next) => {
    // console.log(req.body);

    const paciente = new Paciente(req.body);
    try {
        await paciente.save();
        res.json({ mensaje : 'El cliente se agregó correctamente'}); 
        console.log(paciente);

    } catch (error) {
        console.log(error);
        next();
    }
}
当我跑步时:

console.log(paciente);
const mongoose = require('mongoose');
const Schema = mongoose.Schema;


const pacientesSchema = new Schema({
    nombre: {
        type: String,
        trim: true,
    },
    propietario: {
        type: String,
        trim: true
    },
    fecha: {
        type: String,
        trim: true
    },
    telefono: {
        type: String,
        trim: true
    },
    hora: {
        type: String,
        trim: true
    },
    sintomas: {
        type: String,
        trim: true
    }
});

module.exports = mongoose.model('Paciente', pacientesSchema);
const express = require('express');
const mongoose = require('mongoose');
const routes = require('./routes');
const bodyParser = require('body-parser');

// Crear el servidor
const app = express();


// Conectar con MongoDB
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost/veterinaria', {
    useNewUrlParser: true,
    useUnifiedTopology:true,
    useFindAndModify:false
});

// Habilitar el body-parser
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));

// Habilitar Routing
app.use('/', routes())


// Puerto y Arrancar
app.listen(4000, () => {
    console.log('Servidor funcionando')
})
结果=u v:0

型号:

console.log(paciente);
const mongoose = require('mongoose');
const Schema = mongoose.Schema;


const pacientesSchema = new Schema({
    nombre: {
        type: String,
        trim: true,
    },
    propietario: {
        type: String,
        trim: true
    },
    fecha: {
        type: String,
        trim: true
    },
    telefono: {
        type: String,
        trim: true
    },
    hora: {
        type: String,
        trim: true
    },
    sintomas: {
        type: String,
        trim: true
    }
});

module.exports = mongoose.model('Paciente', pacientesSchema);
const express = require('express');
const mongoose = require('mongoose');
const routes = require('./routes');
const bodyParser = require('body-parser');

// Crear el servidor
const app = express();


// Conectar con MongoDB
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost/veterinaria', {
    useNewUrlParser: true,
    useUnifiedTopology:true,
    useFindAndModify:false
});

// Habilitar el body-parser
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));

// Habilitar Routing
app.use('/', routes())


// Puerto y Arrancar
app.listen(4000, () => {
    console.log('Servidor funcionando')
})
路线

const express = require('express');
const router = express.Router();
// Importar el controlador
const pacienteController = require('../controllers/pacienteControllers');

module.exports = function() {

    // router.get('/', () => {
    //     console.log('en home');

    // });

    // Agrega nuevos pacientes via POST
    router.post('/pacientes',
        pacienteController.nuevoCliente
    );

    return router;
}
和索引:

console.log(paciente);
const mongoose = require('mongoose');
const Schema = mongoose.Schema;


const pacientesSchema = new Schema({
    nombre: {
        type: String,
        trim: true,
    },
    propietario: {
        type: String,
        trim: true
    },
    fecha: {
        type: String,
        trim: true
    },
    telefono: {
        type: String,
        trim: true
    },
    hora: {
        type: String,
        trim: true
    },
    sintomas: {
        type: String,
        trim: true
    }
});

module.exports = mongoose.model('Paciente', pacientesSchema);
const express = require('express');
const mongoose = require('mongoose');
const routes = require('./routes');
const bodyParser = require('body-parser');

// Crear el servidor
const app = express();


// Conectar con MongoDB
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost/veterinaria', {
    useNewUrlParser: true,
    useUnifiedTopology:true,
    useFindAndModify:false
});

// Habilitar el body-parser
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));

// Habilitar Routing
app.use('/', routes())


// Puerto y Arrancar
app.listen(4000, () => {
    console.log('Servidor funcionando')
})
atlas中配置的屏幕截图

const express = require('express');
const router = express.Router();
// Importar el controlador
const pacienteController = require('../controllers/pacienteControllers');

module.exports = function() {

    // router.get('/', () => {
    //     console.log('en home');

    // });

    // Agrega nuevos pacientes via POST
    router.post('/pacientes',
        pacienteController.nuevoCliente
    );

    return router;
}


谢谢各位朋友。

我想问题出在储蓄点使用的等待中。 尝试使用:

paciente.save(function (err, saved) {
    if (err) {
      console.log(err);
    } 
    else {  
       console.log(saved); 
       res.json({ mensaje : 'El cliente se agregó correctamente'}); 
    }
}
无论如何,要检查它是否真的被保存,您可以连接到mongo槽壳
并手动查询集合。

我认为问题在于保存点使用的等待。
exports.nuevoCliente = async (req, res, next) => {
    // console.log(req.body);

    // Crear Objeto de paciente con datos de req.body
    const paciente = new Paciente(req.body);

    paciente.save(function (err, saved) {
        if (err) {
          console.log(err);
        } 
        else {  
           console.log(saved); 
           res.json({ mensaje : 'El cliente se agregó correctamente'}); 
        }
    }
    )
}
尝试使用:

paciente.save(function (err, saved) {
    if (err) {
      console.log(err);
    } 
    else {  
       console.log(saved); 
       res.json({ mensaje : 'El cliente se agregó correctamente'}); 
    }
}
无论如何,要检查它是否真的被保存,您可以连接到mongo槽壳 并手动查询集合

exports.nuevoCliente = async (req, res, next) => {
    // console.log(req.body);

    // Crear Objeto de paciente con datos de req.body
    const paciente = new Paciente(req.body);

    paciente.save(function (err, saved) {
        if (err) {
          console.log(err);
        } 
        else {  
           console.log(saved); 
           res.json({ mensaje : 'El cliente se agregó correctamente'}); 
        }
    }
    )
}
非常感谢您的回复


非常感谢您的回复

根据您的代码,您已连接本地mongo 您可以通过终端或MongoShell中的MongoDB日志进行检查

logfile path is - /var/log/mongodb/mongod.log

根据您的代码,您已经连接了本地mongo 您可以通过终端或MongoShell中的MongoDB日志进行检查

logfile path is - /var/log/mongodb/mongod.log

是否连接本地主机<代码>mongodb://localhost/veterinaria确保您的患者存储在localhost中,而不是远程MongoDB服务器localhost中是。我怎么做不到?你连接本地主机了吗<代码>mongodb://localhost/veterinaria确保您的患者存储在localhost中,而不是远程MongoDB服务器localhost中是。我怎么做不到??检查mongo日志你可以检查并查看你的mongo中发生了什么。我已经更新并发布了结果的图像。你已经准备好了。非常感谢您的大力帮助。通过路径。如果您将通过tail-100f mongo.logCheck mongo Log查看,您可以检查并查看mongo中正在发生的事情。我已更新并发布了结果的图像。你已经准备好了。非常感谢您的大力帮助。沿着这条路走。如果您将通过tail-100f mongo.logIs看到,这是一个答案还是您想对某人说的话?这是一个答案还是您想对某人说的话?