첫 번째 POST 후에 오류가 발생하는 모델이 있습니다. 스케줄링 응용 프로그램을 만들고 있는데, X 일, 방 및 시간 슬롯이 방을 구성합니다.MongoDB E11000 중복 키 오류
문제는 데이터베이스에 데이 객체를 만드는 것입니다. 쉽게 읽기 위해서 난 그냥 하나의 키 값 쌍을
day.model.js
var mongoose = require('mongoose');
// Day Schema
var daySchema = mongoose.Schema({
name:{
type: String,
required: true,
},
createdAt:{
type: Date,
default: Date.now
}
});
var Day = module.exports = mongoose.model('Day', daySchema);
// Get all Days
module.exports.getDays = function(callback, limit){
Day.find(callback).limit();
};
// Add Day
module.exports.addDay = function(day, callback){
var add = {
name: day.name,
};
Day.create(add, callback);
};
day.routes.js
var express = require('express');
var router = express.Router();
var jwt = require('jsonwebtoken');
var config = require('../config/database');
Day = require('../models/day.model.js');
// Get all Days
router.get('/', function(req,res){
Day.getDays(function(err, days){
if(err){
res.send(err);
}
res.json(days);
});
});
// Add Day
router.post('/create', function(req,res){
var day = req.body;
Day.addDay(day, function(err, day){
if(err){
res.send(err);
}
res.json(day);
});
});
module.exports = router;
을거야 보기 JSON
{"name": "Monday"}
-이 잘 데이터베이스에 반영하는 것은{"name": "Tuesday"}
- 이것은 내가 혼란 스러워요{ "code": 11000, "index": 0, "errmsg": "E11000 duplicate key error collection: <collection-name>.days index: date_1 dup key: { : null }", "op": { "name": "Tuesday", "_id": "57fd89638039872dccb2230b", "createdAt": "2016-10-12T00:52:51.702Z", "__v": 0 } }
나는이 같은 설정을 가지고있는 11000 오류를
오류가 발생합니다 사용자인데 새로운 일을 만들 때이 중복 키 오류가 발생합니다. 내가 무엇을 놓치고 잘못했는지 확신 할 수 없습니다. 감사합니다
인덱스가있는 이전 컬렉션이 있다고 생각합니다. 컬렉션을 삭제하거나 인덱스'date_1'을 제거하는 것이 좋습니다. " .days index : date_1 dup key : {: null}"은'days' 속성이 null 인 다른 레코드를 삽입한다는 것을 의미합니다. –
num8er