2015-01-26 3 views
-2

최저 숙제 점수를 제거하려고합니다. MongoDB 최저 점수 node.js를 제거하십시오.

나는이 시도

,

var a = db.students.find({"scores.type":"homework"}, {"scores.$":1}).sort({"scores.score":1}) 

하지만 어떻게 데이터의 집합을 제거 할 수 있습니까?

다음과 같은 200 개의 유사한 데이터가 있습니다.

{ 
    "_id" : 148, 
    "name" : "Carli Belvins", 
    "scores" : [ 
     { 
      "type" : "exam", 
      "score" : 84.4361816750119 
     }, 
     { 
      "type" : "quiz", 
      "score" : 1.702113040528119 
     }, 
     { 
      "type" : "homework", 
      "score" : 22.47397850465176 
     }, 
     { 
      "type" : "homework", 
      "score" : 88.48032660881387 
     } 
    ] 
} 
+0

전체 문서 here 당신이 하위 문서 또는 내가 하위 문서를 제거 할 모든 문서 –

+0

을 제거 할 수행 @MuhammadAli – Yumiko

+3

가 나는 MongoDB를 대학에서 숙제 질문이기 때문에 오프 주제로이 질문을 닫습니다 투표를하고있다. –

답변

0

당신은 요소를 제거하려고하지만 제공 한 진술은 단지 그것을 찾는 것입니다.

대신 db.students.remove(<query>)을 사용하십시오.

+0

그러나 remove() 메서드를 알고 있지만이 경우에는 작동하지 않습니다. – Yumiko

+0

그래서 나는 당신이 먼저 최대 점수 db.students.find ({ "scores.type": "숙제"})로 학생의 ID를 얻어야한다고 생각해. sort ({ 'scores.score': - 1}). limit (1) remove 메소드를 사용하여 id로 엔티티를 제거하십시오. – Riccardo

+0

하지만 엔티티를 ID로 가져와 $ pull 연산자를 사용하여 가장 낮은 점수를 제거해야하므로 전체 엔티티가 아닌 특정 점수를 제거해야합니다. – Riccardo