Ich habe eine REST API, die es einem Benutzer erlaubt, einen Namen und eine URL hinzuzufügen. Bei dieser POST-Anfrage werden der Name und die URL zu meinem mongodb hinzugefügt.Lassen Sie nicht zu, dass zwei Namen gleich sind - mongodb
Dies ist die POST-Anfrage
curl -XPOST http://localhost:8080/urls -d 'name=John&url=http://111.11.1.111:1111'
Und das ist, wie es zu dem dbs hinzugefügt:
{ "_id" : ObjectId("57bd87e7c94363a17620ab4c"), "name" : "John", "url" : "http://111.11.1.111:1111", "__v" : 0 }
Das ist mein Weg, die POST erlaubt:
router.post('/', function (req, res, next) {
Urls.create(req.body, function (err, post) {
if (err) return next(err)
res.json(post)
})
})
Dieser So kann ich mehrere URLs mit demselben Namen und derselben URL hinzufügen - es gibt keine Validierung.
Wie kann ich sicherstellen, dass ein Fehler ausgelöst wird, wenn ein Benutzer versucht, denselben Namen und/oder dieselbe URL erneut in die dbs einzufügen?
Ich bin mir nicht sicher, wo ich anfangen soll, aber ich nehme an, das ist eine dbs-Option? Z.B. findById, wenn es existiert, fügen andere zu den dbs hinzu?
Sie Index erstellen können, entnehmen Sie bitte diesem Link [Es enthält die Lösung des Problems] (http://stackoverflow.com/questions/12395118/mongodb-setting-unique-field) –