2015-12-15 59 views
1

我想根據我的課程json對象找到一個課程。如果我只有課程編號12712和講座:A,那麼我如何才能在json對象(課程對象中的第一個對象)中找到該課程,並填充這些課程的許多課程?我在此嘗試關於json對象的Mongodb查詢

db.courses.find({"courses.12712"}) 

但我得到一個錯誤的JSON對象的

片段:

{ 「_id」:物件( 「566f824641b9b2eba94a9ff4」), 「課程」:{ 「12712」 {「department」:「Civil & Environmental Engineering」,「講座」:[01249] 「會議」:[{「room」:「DH 2302」,「location」:「匹茲堡, Pennsylvania「,」end「:」04:20 PM「,」days「:」MW「,」begin「:」03:00 PM「} ]}],」name「:」可持續工程概論「 「: 12,」prereqs「:」「,」semester「:[」F「],」coreqs「:」「,」desc「: 」本課程從概述開始....「}}

回答

0

MongoDB有query operators您可以使用$ eq運算符來匹配您想要的字段(在您的情況下它是一個數字)。看看他們的官方文檔here

語法:

{ <field>: { $eq: <value> } } 

在你的情況,你也許可以嘗試:

db.courses.find({ <property you want to match>: { $eq: "12712" } }); 
-1

使用$exists運營商以確定文件的特定領域。

db.courses.find({"courses.12712" : { $exists:true }}) 

如果要檢查,如果演講必須有至少一個元素,則

db.courses.find({"courses.12712" : { $exists:true },"courses.12712.lectures.0" : { $exists:true } }) 
在那裏