嗨,当我尝试保存在mongoDB中时,没有数据被保存
我在应用程序中添加了更多代码,以更好地报告该错误。问题是:在我创建的能够记录在数据库中的代码中,为什么它不起作用?我究竟做错了什么?
我的模型是:
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);
我的控制器:
> 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);
> try {
> await paciente.save();
> res.json({ mensaje : 'El cliente se agregó correctamente'});
> // console.log(paciente);
>
> } catch (error) {
> console.log(error);
> next();
> }
> }
在Stennie和Kris的善意建议下,我进行了此更改,但它不起作用,我还能尝试什么?我想念什么???
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);
try {
await paciente.save({
nombre: req.body.nombre,
propietario: req.body.propietario,
fecha: req.body.fecha,
telefono: req.body.telefono,
hora: req.body.hora,
sintomas: req.body.sintomas
});
res.json({ mensaje : 'El cliente se agregó correctamente'});
// console.log(paciente);
} catch (error) {
console.log(error);
next();
}
}
我的主要指数:
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连接时出现链接故障。
我使用的链接允许我连接并创建数据库和集合,但不允许将数据放入集合中。这是指南针为我提供的链接:
mongodb+srv://<username>:<password>@cluster0-srtud.mongodb.net/test
这是正确的代码:
mongodb://localhost:27017/?readPreference=primary&appname=MongoDB%20Compass&ssl=false
初学者的失败是不知道那不是正确的链接
谢谢大家
最佳答案
如果您只想向现有数据库添加一个条目,则可以使用
db.COLLECTION_NAME.insert({})
如果您不知道如何添加数据库或集合,则可以在此处找到一些有用的示例:https://www.tutorialspoint.com/mongodb/mongodb_insert_document.htm
编辑:
您需要先在控制器中导入模型
const Pacientes = require('../models/Pacientes.js');
关于javascript - 无法在mongoDB中编写:无法在mongoDB中编写:,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60243357/