//** 如果我要添加一個名為“India”的新檔案,那么我不希望資料庫允許另一個名稱為:“INDIA”、“india”、“indIA”等。我是新手,正在學習,幫助會很棒!!**
//控制器
var Dinosaur = require('../models/dinosaurs');
//addDino
module.exports.addDino = (req, res) => {
var name = req.body.name;
var type = req.body.type;
var height = req.body.height;
var weight = req.body.weight;
var Period = req.body.Period;
req.checkBody('name', 'Name is required').notEmpty();
var errors = req.validationErrors();
if (errors)
return res.status(400).send({
message: 'Name is Required'
});
else {
let newDino = {
name: name,
type: type,
height: height,
weight: weight,
Period: Period
}
Dinosaur.addDino(newDino, (err, result) => {
if (err) {
if (err.name) return res.status(409).send({
message: name ' Already Exist'
});
else if (err.url) return res.json({ status: false, error: { url: "Url already exist" }, message: err.url });
else return res.json(err, "Server Error");
}
else {
return res.status(200).send({
message: "Done"
});
}
});
}
}
//型號
var mongoose = require('mongoose');
//dinosaur schema
var DinosaurSchema = mongoose.Schema({
name: {
type: String,
unique: true
},
type: {
type: String
},
height: {
type: Number
},
weight: {
type: Number
},
Period: {
type: String
}
});
var Dinosaur = mongoose.model('dinosaur', DinosaurSchema);
//add
module.exports.addDino = (query, callback) => {
Dinosaur.create(query, callback);
}
// GetAll,已經創建了一個名為“Brachiosaurus”的新檔案

// > 創建,第一個字母小寫“brachiosaurus”的新創建,不希望它被推送。

//獲取所有,被推送。

uj5u.com熱心網友回復:
您可以創建索引,name并在保存時將其設為小寫。因此,每次保存它時,您都遵循相同的約定。您可以輕松地name在 UI 上顯示。
db.collection.createIndex({
"name": 1
}, {
unique: true
})
注意:添加索引可能會影響插入和更新性能。
對您的控制器進行以下更改:
var Dinosaur = require('../models/dinosaurs');
//addDino
module.exports.addDino = (req, res) => {
var name = req.body.name;
var type = req.body.type;
var height = req.body.height;
var weight = req.body.weight;
var Period = req.body.Period;
req.checkBody('name', 'Name is required').notEmpty();
var errors = req.validationErrors();
if (errors)
return res.status(400).send({
message: 'Name is Required'
});
else {
let newDino = {
name: name.toLowerCase(), // make this changes
type: type,
height: height,
weight: weight,
Period: Period
}
Dinosaur.addDino(newDino, (err, result) => {
if (err) {
if (err.name) return res.status(409).send({
message: name ' Already Exist'
});
else if (err.url) return res.json({ status: false, error: { url: "Url already exist" }, message: err.url });
else return res.json(err, "Server Error");
}
else {
return res.status(200).send({
message: "Done"
});
}
});
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/470077.html
