Reputation: 23
i have category schema and i want to insert new category if category name does not exist. I tried something but i could not any response.
category.model
var mongoose = require("mongoose");
var categorySchema = mongoose.Schema({
name: {
type: String,
require: true
},
createdAt: {
type: Date,
default: () => {
return new Date();
}
}
});
module.exports = mongoose.model("category", categorySchema);
category insert function
var Category = require("../models/category.model");
exports.create = (req, res) => {
Category.find({ name: req.body.name }, (err, cat) => {
if (cat.length > 0) {
// i want to return exists message here
} else {
// i want to insert here if not exists
var category = new Category();
category.name = req.body.name;
category.save(err => {
if (err) {
return new response(null, err).error500(res);
}
return new response(category, null).created(res);
});
}
});
};
Upvotes: 2
Views: 461
Reputation: 3613
You can do it like this code below:
exports.create = async (req, res) => {
try {
let category = await Category.find({ name: req.body.name });
if(category) {
// return or do some stuff here
}
category = new Category(req.body);
category = await category.save();
return new response(category, null).created(res);
} catch(ex) {
console.log(ex.message);
return new response(null, ex).error500(res);
}
};
I hope it can help you.
Upvotes: 1