2015-12-15 6 views
1

Я пытаюсь найти курс, основанный на моем курсовом объекте json. Если у меня есть только номер курса 12712 и лекция: A, то как я могу найти этот курс в объекте json (первый объект в объекте курсов), заполненный многими из этих курсов? Моя попытка этозапрос Mongodb на объект json

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

, но я получаю сообщение об ошибке

фрагмент JSON ОБЪЕКТА:

{ "_id": ObjectId ("566f824641b9b2eba94a9ff4"), "курсы": { «12712» : {«Отдел»: «Гражданский & Экологическая инженерия», «лекции»: [ {«инструкторы»: [«Ванбриссен»], «разделы»: [], «лекция»: «А», «встречи»: [{«комната»: «DH 2302», «место»: «Питтсбург, Пенсильвания »,« конец »:« 16:20 вечера »,« дни »:« MW »,« начало »:« 03:00 PM »} ]}],« имя »:« Введение в устойчивую инженерию »,« единицы ": 12," prereqs ":" "," semqs ":" "," 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 } }) 
Смежные вопросы