0
save
コールのプリフックにユーザが存在するかどうかを確認しようとしています。Model.find()が関数ではないExpressJS
/home/gopa2000/prog/android_workspace/MobAppsBE/app/models/employer.js:21
empSchema.find({email: self.email}, function(err, docs) {
^
TypeError: empSchema.find is not a function
Package.json:私の問題があるかもしれないものに
{
"name": "tjbackend",
"version": "1.0.0",
"description": "REST API for backend",
"dependencies": {
"express": "~4.5.1",
"mongoose": "latest",
"body-parser": "~1.4.2",
"method-override": "~2.0.2",
"morgan": "~1.7.0"
},
"engines": {
"node":"6.4.0"
}
}
任意の提案
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var empSchema = new Schema({
name: String,
img: String,
info: String,
mobnum: String,
email: String,
likes: [String]
},
{
collection: "employers"
}
);
empSchema.pre('save', function(next) {
var self = this;
empSchema.find({email: self.email}, function(err, docs) {
if(!docs.length()){
next();
}
else {
next(new Error("User exists."));
}
});
});
module.exports = mongoose.model('Employer', empSchema);
これは私に次のエラーを与える:これは私のモデルのスキーマのですか?
うーん...スキーマ**モデル** EMPのですか?私には*スキーマ*のように見えます。 –
http://stackoverflow.com/questions/16882938/how-to-check-if-that-data-already-exist-in-the-database-during-update-mongoose 「更新」の方法に従っています受諾された回答の「2」である。私は別のコントローラファイルからsaveを呼び出しています。 – doberoi96
あなたは上記の方法に非常に近いと思われません。 'User'は' userSchema'と同じではありません –