2017-05-18 9 views
0

私はMongoDBを初めて使用しています。私は、学生とその学生が大学でやっているコースの記録を保存するデータベースを作成しています。 学生、科目、講師という3つのコレクションがあります。 学生コレクションには、studentId、名前、dob、メール、年が含まれます。 件名コレクションには件名、件名、クレジットが含まれています 講師コレクションにはlecturerId、lectureName、speciliazation、contactNo、emailが含まれています。 学生コレクションと学生コレクションの関係は、多くのものか​​ら多くのものです。 件名と講師のコレクションの間には、1対1の関係があります。 私はstudentIdを学生コレクションに追加し、lecturerIdをsubjectコレクションに追加する必要があります。 コレクション間に外部キーの関係を作成する方法を教えてください。MongoDBのコレクション間の関係を作成する

答えて

0

MongoDB DBRefsは、ドキュメントにさまざまなコレクションの参照が含まれている場合に使用できます。

  • $ refを - -

    はDBREFSにおける三つのフィールドがあります。このフィールドは、$ idは

  • 参照されるドキュメントのコレクションを指定する - このフィールドは、参照されるドキュメントの_idフィールドを指定し

  • $ db - これは省略可能なフィールドであり、参照先のドキュメントが存在するデータベースの名前を含みます

スチューデント文書の例 - 次のように

{ 
    "_id":ObjectId("53402597d852426020000002"), 
    "subjects": [{ 
     "$ref": "SubjectCollection", 
     "$id": ObjectId("534009e4d853427820000001"), 
     "$db": "dbname" 
    },{ 
     "$ref": "SubjectCollection", 
     "$id": ObjectId("829009e4d856727320000007"), 
     "$db": "dbname" 
    }], 
    "name": "Mukesh Saini", 
    "dob": "01-01-1990", 
    "email": "[email protected]", 
    "year": 2017 
} 

は、その後、あなたは、参照文書を照会することができます -

>var student = db.studentsColl.findOne({"name":"Mukesh Saini"}) 
>var dbRef = student.subjects[0] 
>db[dbRef.$ref].findOne({"_id":(dbRef.$id)}) 
関連する問題