2014-07-22 4 views
8

몽구스 데이터베이스에서 모든 콘텐츠를 제거하려고하지만 아무 것도 작동하지 않는 것 같습니다.Mongoose Model.remove (콜백)가 내 컬렉션에서 아무 것도 제거하지 않습니다

나는 심지어 .find() 단계를 제거하거나 .exec() 내 콜백 결코 보여주지 내 데이터가 여기에 아직 추가

# CoffeeScript 
MyModel.find().remove({}, (err) -> console.log('purge callback')) 

# JavaScript 
MyModel.find().remove({}, function() { console.log('purge callback') }) 

# CoffeeScript 
MyModel.find().remove((err) -> console.log('purge callback')) 

# JavaScript 
MyModel.find().remove(function() { console.log('purge callback') }) 

그리고

을 시도했습니다.

나는 나의 모델과 연결이 확인 것을 확신 :

  • 내가
  • 내가 다른 곳에서

관련 같은 모델을 조작하여 문서를 추가 할 수 있습니다 몽고의 로그에 연결을 볼 수 있습니다 : How do I remove documents using Node.js Mongoose?

편집

내 문제는 표시되지 않은 구문 오류로 인해 발생했습니다. 선택한 답변이 작동하고 위의 코드도 작동합니다. 운영자가 필요한 경우 제 질문을 삭제할 수 있습니다.

답변

20

그것은 몽구스에 의해 반환로 "query" 목적이 아니다, 유효한 유일한 방법은 여기 .remove()입니다 : 또한

MyModel.remove({}, function(err,removed) { 

}); 

, 어떻게 더 문서를 결정하지 않습니다 :와 동일

MyModel.remove(function(err,removed) { 

    // where removed is the count of removed documents 
}); 

제거 되었습니까? 가능성이 잘못된 컬렉션을 찾고 있습니다. 그 세 번째 인수없이

mongoose.Model("MyModel", myModelSchema, "mymodel") 

을하거나 컬렉션 이름은 "mymodels을"로 함축되는 스키마에 지정 : 사용자가 명시 적으로 같이 컬렉션 이름을 지정하지 않는 한 몽구스는 기본적으로 컬렉션 이름 복수형. 올바른 컬렉션과 문서가 제거 될 것으로 예상되는 데이터베이스 연결이 올바른지 확인하십시오.

+1

내가 말했듯이, 나는 역시 시도했지만 역시 작동하지 않습니다. 또한 Mongoose 문서 예제는 http://mongoosejs.com/docs/api.html#query_Query-remove에 동의하지 않습니다. 어쨌든 당신의 도움에 감사드립니다. – AsTeR

+0

@AsTeR 다른 모든 사람들에게 유용합니다. 위에 표시된 구문을 표시하지 않으므로 다른 것을해야합니다. –

+0

나는'.find()'단계를 제거했다. 그러나 당신이 옳다는 것이 명백하다는 것이 중요하다는 것을 말합니다. MongoHub와 명령 행 클라이언트를 통해 내 컬렉션을보고 있습니다. 추가 된 "s"트릭을 발견했습니다 ... – AsTeR

13

instance.This가 하나 개의 모델 제거하는 예입니다 만 몽구스 문서 모델에서 작동 .remove 기능 : 특정 쿼리 요소를 제거한다면, 그러나

Model.findOne({ field : 'toto'}, function (err, model) { 
    if (err) { 
     return; 
    } 
    model.remove(function (err) { 
     // if no error, your model is removed 
    }); 
}); 

, 당신은 같은 기능 remove를 사용해야합니다 find 함수 :

Model.remove({ title : 'toto' }, function (err) { 
    // if no error, your models are removed 
}); 
+0

모델을 찾을 수없는 경우 노드가 오류를 발생시키고 충돌합니다. – Mick

관련 문제