2015-12-15 58 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 } }) 
在那里