#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. да, я действительно поменял местами поля с моими собственными именами полей