2016-03-24 7 views
0

idを使用して要素を見つけて、Meteor + MongoDBで1つのフィールドのみを返す方法。私は状態を返すだけでしたが、これはドキュメント全体を返すdoesntの仕事ですか?私は何が欠けていますか?idを使用して要素を見つけ、Meteor + MongoDBで1つのフィールドのみを返す方法

stuCourse.classId = awquMqKMrYKqNueGx 
stuCourse.courseId = m7pcWesZnhWxJgojG 

クライアント側

const clas = Col_AllClasses.findOne({ 
     _id: stuCourse.classId, 
     "courseList.courseId": stuCourse.courseId 
    }, { 
     field: { 
      "courseList.status": 1 
     } 
    }) 

MongoDBのデータ

{ 
    "_id": "awquMqKMrYKqNueGx", 
    "title": "haha1", 
    "password": "123", 
    "courseList": [ 
    { 
     "courseId": "52Eo6XJ33CMGLo4rL", 
     "status": 0 
    }, 
    { 
     "courseId": "m7pcWesZnhWxJgojG", 
     "status": 0 
    } 
    ], 
} 

答えて

1
field: { 
     "courseList.status": 1 
    } 

は、あなたがに書いている

fields: { 
     "courseList.status": 1 
    } 
+0

感謝のように表示されますfieldsfieldキーワードを交換する必要があります。どのように私はちょうど一致するcourseIdと1つの状態を返すのですか? – phongyewtong

2

する必要がありますあなたは何を望むかに関連する正しいクエリでは、あなたは、あなたの流星のmongo問い合わせは、私はそれが動作しますが、そのまだ正しいcourseIdと1の代わりに2つの状態を返すと思います

Col_AllClasses.findOne({ 
    _id: stuCourse.classId, 
    "courseList.courseId": stuCourse.courseId 
}, { 
    fields: { 
     "courseList.status": 1 
    } 
}); 
+0

私はそれが動作すると思うが、それはまだ正しいcourseIdを持つものの代わりに2つのステータスを返します。どのように私はちょうど一致するcourseIdと1つの状態を返すのですか? – phongyewtong

関連する問題