MongoDB — отображение данных только для выбранной информации

#mongodb

#mongodb

Вопрос:

У меня есть коллекция данных, которые я хочу отобразить, однако мне нужны только конкретные записи, которые имеют нужный мне тип данных. Я также хочу отобразить остальные сведения о поле, которые содержат только эти данные. Как мне подойти к этому? Это то, что у меня сейчас есть

db.test.find({}, {Field: "info", _id: false})

пока я могу отображать полную базу данных, однако есть несколько пустых полей, которые мне не требуются, поэтому мне интересно, к какой альтернативе мне следует подойти для отображения оставшихся данных поля вместо использования {} для отображения всего

Спасибо

Ответ №1:

Вы можете подойти к этому примерно так:

Допустим, вы хотите выполнить поиск по всем документам, которые есть Field : "info" в нем, и вы хотите, чтобы в результирующих документах отображались только field1 , field2 и field3 , тогда вы можете запросить его примерно так:

 db.test.find({field : "info"},{ field1:1,field2:1,field3:1,_id:0})
  

Здесь первый параметр find запроса : { field:"info"} используется для сопоставления требуемых / выбранных документов. и 2-й параметр: { field1:1,field2:1,field3:1,_id:0} используется для включения только этих полей в результат.

Добавьте все те поля, которые вы хотите, во второй параметр, как показано ниже:

 field4:1,
field5:1,
...
  

Я надеюсь, что это поможет вам.

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

1. Я только что попробовал это, и по какой-то причине я больше не могу извлекать какие-либо записи.

2. То, что я вам дал, было псевдокодом, вам нужно ввести имена реальных полей, которые есть в вашей коллекции. Можете ли вы показать мне свою схему сбора, чтобы я мог вам лучше помочь?

3. да, я действительно поменял местами поля с моими собственными именами полей