我想通過使用$查找和$匹配有關MongoDB獲得與國外關鍵文件。
有一個「喬布斯」收集存儲工作文檔。在工作文件中有兩個領域使用作爲主鍵「creatorParent」和「兒童」。 CreatorParent是「用戶」集合的外鍵,而Children數組包含用戶子項的ID。
當我列出了整個工作,我想要從「用戶」收集細節兩個CreatorParent ID和ChildrenID。我想用ParentDetail和ChildDetail編寫「Job」文檔。我不想爲此編寫自定義方法。是否有可能使用MongoDB查詢處理它?
順便說一句,我是MongoDB的初學者,所以應該在Children和CreatorParent上存儲需要的細節,而不是存儲ObjectId?
用戶文檔:
{
"_id" : ObjectId("58daf84877733645eaa9b44f"),
"email" : "[email protected]",
"password" : "vpGl+Fjnef616cRgNbCkwaFDpSI=",
"passwordsalt" : "99397F4A9D3A499D96694547667E74595CE994D2E83345D6953EF866303E8B65",
"children" : [
{
"_id" : ObjectId("58daf84977733645eaa9b450"),
"name" : "Mert",
"age" : 5,
"additionalinformation" : "ilk cocuk",
"creationtime" : ISODate("2017-03-28T23:56:56.952Z"),
"userid" : ObjectId("58daf84877733645eaa9b44f"),
"gender" : null
},
{
"_id" : ObjectId("58daf84977733645eaa9b451"),
"name" : "Sencer",
"age" : 7,
"additionalinformation" : "ikinci cocuk",
"creationtime" : ISODate("2017-03-28T23:56:56.952Z"),
"userid" : ObjectId("58daf84877733645eaa9b44f"),
"gender" : null
}
]
}
工作
{
"_id" : ObjectId("58db0a2d77733645eaa9b453"),
"creationtime" : ISODate("2017-03-29T01:13:17.509Z"),
"startingtime" : ISODate("2017-04-03T13:00:00.000Z"),
"endingtime" : ISODate("2017-04-03T17:00:00.000Z"),
"children" : [
ObjectId("58daf84977733645eaa9b450"),
ObjectId("58daf84977733645eaa9b451")
],
"creatorparent" : ObjectId("58daf84877733645eaa9b44f"),
"applicants" : []
}
你好,謝謝你的回答,但我一直在尋找不同的東西,當我從數據庫,而不是創造者一方的身份證取回的工作,我想creatorParent的細節像你下面列出。像左連接上SQL –
我試過你的代碼,但我無法檢索子詳細 –
兒童領域仍返回空數組:( –