Объектный запрос в MongoDB — Compass

#mongodb #mongodb-query

Вопрос:

Я хотел бы выполнить объектный запрос о том, сколько документов имеют «JAVA» в переменной L5_tecnologias:

Скриншот со структурой данных переменной L5_tecnologias

Как вы можете видеть на скриншоте, я использую формулу, показанную в руководстве MongoDB (https://docs.mongodb.com/manual/tutorial/query-embedded-documents /), но это не работает. Итак, я попробовал команды:

 { L5_tecnologias: { JAVA: "" } }
 
 { L5_tecnologias: ["JAVA"] }y
 
 { L5_tecnologias: "JAVA" } 
 

но ни один из них не работает. Кто-нибудь может помочь?

Комментарии:

1. поделитесь своим полным запросом и образцом документа BSON вместо скриншота

Ответ №1:

Используйте точечную нотацию с $exists помощью .

 db.collection.find({
  "L5_tecnologias.JAVA": {
    $exists: true
  }
})
 

Пример игровой площадки Mongo

Комментарии:

1. Спасибо, это работает. Команда в Compass будет: {«L5_tecnologias. JAVA»: {$exists: true}}