- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 expressJs
和 mongoose
(包括 MongoDB)的新手。问题是当我尝试使用 findOne()
查找患者时,捕获错误显示:
model.findOne is not function.
我从来没有遇到过这个错误。我的错误代码是:
var Paciente = require('../modelos/Paciente');
var pacienteSchema = Paciente.pacienteSchema;
/**
*
* Metodo para añadir un nuevo paciente
*/
function nuevoPaciente(request, response) {
var BODY = request.body;
const rutNuevo = BODY.nuevoPaciente.Rut;
var pacienteEntrada = new pacienteSchema(BODY.nuevoPaciente);
try {
console.log(pacienteEntrada);
pacienteEntrada.findOne({
Rut: rutNuevo
}, (err, pacienteExiste) => {
console.log(err);
if (err) {
console.log(err, pacienteExiste);
response.status(500).send({
msjError: 'Error interno al guardar el paciente',
numError: 1,
err
});
} else if (!pacienteExiste) {
console.log("El paciente no existe, hay que guardarlo");
pacienteEntrada.save((err, pacienteSave) => {
console.log(err);
if (err) {
response.status(500).send({
msjError: 'Error interno al guardar el paciente',
numError: 1,
err
});
} else if (!pacienteSave) {
response.status(404).send({
msjError: 'No se ha guardado el usuario',
numError: 3,
err
});
} else {
console.log(pacienteSave);
response.status(200).send({
msjError: 'El paciente se ha guardado con exito!',
numError: 0,
});
}
});
} else {
console.log("paciente ya registrado");
response.status(400).send({
msjError: 'El paciente ya existe registrado',
numError: 2,
});
}
});
} catch (err) {
console.log("Problemas");
console.log(err);
response.status(500).send({
msjError: 'Error no existen los parametros necesarios para guardar al nuevo paciente',
err
});
}
}
代码 Paciente 是 (module.exports
):
module.exports = {
//pacienteSchema: mongoose.model('Paciente', pacienteSchema),
pacienteSchema: mongoose.model('Paciente', pacienteSchema),
pacienteFormEnfermeria: pacienteFormEnfermeria,
pacienteModelFormEnfermeria: pacienteModelFormEnfermeria,
pacienteFormKinesiologia: pacienteFormKinesiologia,
pacienteModelFormKinesiologia: pacienteModelFormKinesiologia,
pacienteModelFormNutricion: pacienteModelFormNutricion,
pacienteFormNutricion: pacienteFormNutricion,
pacienteFormModalRegistro: pacienteFormModalRegistro,
pacienteFormRegistro: pacienteFormRegistro
}
变量pacienteSchema
是:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var pacienteSchema = Schema({
Nombre: String,
ApellidoPaterno: String,
ApellidoMaterno: String,
Rut: String,
Edad: Number,
FechaNacimiento: Date,
genero: String,
Nacionalidad: String,
Direccion: String,
Comuna: String,
telefonoContacto: String,
celular: String,
Prevision: String,
patologiaConsulta: String,
creenciasReligiosas: String,
costumbres: String,
etnia: String,
estadoCivil: String,
grupoFamiliar: String,
hijos: String,
redApoyo: String,
escolaridad: String,
ocupacion: String,
horarioLaboral: String,
diasFaltaTrabajo: Number,
accidentesLaborales: String,
riesgosLaborales: String,
practicasDeportivas: String,
hobbies: String,
estadoVivienda: String,
accesoServiciosBasicos: String,
antecedentesFamiliares: String});
最佳答案
它应该是 pacienteSchema.findOne
,而不是代表文档(如关系数据库中的一行)的实例化 pacienteEntrada
。而 pacienteSchema
表示对文档集合(如关系数据库中的表)的访问。
顺便说一下,Paciente.pacienteSchema
应该被称为 Paciente.pacienteModel
(因为它是 mongoose.model
返回的值) >).
pacienteEntrada.save
应该已经可以了,但是你的回调似乎是错误的:我相信它只会用一个(错误)参数来调用,所以你的第二个参数(pacienteSave
) 必须是未定义
。这会让你的函数发送 404 并且看起来像是失败了。
要么是这些,要么您使用 mongoose.createConnection
而不是 mongoose.connect
连接数据库(在这种情况下,您需要使用返回的连接而不是 直接使用 mongoose
- 检查 their doc 和 the warning 有关在单独连接上访问模型的信息)。
关于javascript - Mongoose - FindOne 和 Save 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54847514/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!