关于json对象

时间:2015-12-15 03:13:15

标签: mongodb-query

我正在尝试根据我的课程json对象找到一门课程。如果我只有课程编号12712和讲座:A,那么我怎样才能在json对象(课程对象中的第一个对象)中找到那些充满了许多这些课程的课程?我的尝试是

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

但是我收到了错误

  

JSON OBJECT的SNIPPET:

     

{" _id" :ObjectId(" 566f824641b9b2eba94a9ff4")," course" :{" 12712"   :{" department" :" Civil&环境工程","讲座" :[   {"讲师" :[" Vanbriesen" ],"部分" :[],"讲座" :" A",   "会议" :[{" room" :" DH 2302"," location" :"匹兹堡,   宾夕法尼亚州","结束" :" 04:20 PM"," days" :" MW","开始" :" 03:00 PM" }   ]},"名称" :"可持续工程概论","单位" :   12,"先决条件" :"","学期" :[" F" ]," coreqs" :""," desc" :   "本课程以概述开始...." }}

2 个答案:

答案 0 :(得分:0)

MongoDB有query operators您可以使用$ eq运算符来匹配您想要的字段(在您的情况下是一个数字)。查看他们的官方文档here

<强>语法:

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

在您的情况下,您可以尝试:

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

答案 1 :(得分:-1)

使用$exists运算符确定文档中的特定字段。

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

如果你想检查是否应该至少有一个元素,那么

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