[MONGODB] 몽구스 -에 의해 : 11000 E11000 중복 키 에러 인덱스 발생?
MONGODB몽구스 -에 의해 : 11000 E11000 중복 키 에러 인덱스 발생?
왜이 중복 에러가 발생합니까 - 오류가 새로운 사용자를 생성 : WriteError ({ "코드"11000 "인덱스"0 "에 errmsg": "insertDocument :: 의해 :: 11000 E11000 중복 키 에러 인덱스 발생?
모든 제공된 필드는 전혀 비어 있지 않은.
개요:
// Declare schema
var userSchema = new mongoose.Schema({
username: {type: String, required: true, index: {unique: true}},
password: {type: String, required: true},
created_on: {type: Date, default: Date.now}
});
게시하다:
// Create - POST
// Create the first method of the API : POST used to create a new user.
router.post("/", function(req, res, next) {
// Get values from POST request
var username = req.body.username;
var password = req.body.password;
console.log(req.body); // { username: 'tealou', password: 'test123' }
// Create new user document
User.create({
username: username,
password: password
}, function(err, user) {
console.log(user); // undefined
if (err) {
console.log("Error creating new user: " + err);
res.send("Error creating new user.");
} else {
console.log("POST creating new user: " + username);
res.json(user);
}
})
});
오류:
어떤 아이디어?
해결법
-
==============================
1.당신은 처음에 독특한로 설정 스키마의 이름라는 필드를했다.
당신은 처음에 독특한로 설정 스키마의 이름라는 필드를했다.
내가 어떻게 알아? 오류의 저를 그렇게 말하는 이유는
duplicate key error index: **iotdb.users.$name_1**
당신은 사용자 이름 필드 이름을 변경하지만, 이전 인덱스를 제거하지 않았다. 기본적으로 MongoDB를이 경우에 null로 존재하지 않는 필드의 값을 설정합니다.
관련 문서 여기 :
이 문제를 해결하려면 이름이 바뀐 이름 필드에 인덱스를 제거해야합니다.
-
==============================
2.컬렉션을 삭제하고 내 코드를 다시 할 수 있도록 나를 위해 일한 것입니다.
컬렉션을 삭제하고 내 코드를 다시 할 수 있도록 나를 위해 일한 것입니다.
from https://stackoverflow.com/questions/38347186/mongoose-caused-by-11000-e11000-duplicate-key-error-index by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 몽고 통합 프레임 워크의 특정한 배열 요소로 그룹화 (0) | 2019.12.19 |
---|---|
[MONGODB] 어떻게 MongoDB의 하나 제대로 증가 많은 날짜는 무엇입니까? (0) | 2019.12.19 |
[MONGODB] findOneAndUpdate에서 반환하는 필드를 선택 몽구스 (0) | 2019.12.19 |
[MONGODB] 몽고 결과에서 _id 제거 (0) | 2019.12.19 |
[MONGODB] 인터넷없이 몽구스 캔은하지 연결 (0) | 2019.12.19 |