Нет результатов при использовании фильтров в Mongodb Compass
Я пытаюсь выполнить базовую фильтрацию в MongoDB Compass, но не получаю никаких результатов. Вот пример без фильтрации
И это с фильтрацией
Я пробовал следующие фильтры, и ни один из них не работает:
{"INSTALL_TYPE" : /.*vpos.*/}
{"DIVISION" : /.*20.*/}
{"DIVISION" : "20"}
Однако в другой таблице в той же базе данных поиск работает нормально.
Почему я не получаю результатов при попытке фильтрации в MongoDB Compass в этой таблице?
1 ответ
Проблема заключалась в том, что в строках были кавычки. При экспорте таблиц из Oracle SQL кавычки заключали в себе некоторые значения. Когда я затем импортировал CSV, CSV, в котором были упакованы все его значения, был импортирован в кавычки. Однако при импорте CSV, в котором только некоторые значения имели кавычки, это приводило к тому, что эти записи имели кавычки внутри строки.
Очистка всех файлов квот CSV, очистка таблиц и повторный импорт файлов CSV привели к тому, что все записи больше не имеют кавычек. И теперь фильтрация работает отлично.
В частности, имена столбцов, содержащие кавычки, заставят Compass вести себя как описанный OP. Если ваш CSV выглядит так:
"INCIDENT_ID"
"2016376978"
Импорт в Компас. Обратите внимание, что заголовок столбца содержит двойные кавычки, поэтому фильтр не дает результатов.
Я не изменил своих ценностей, как сказано в принятом ответе. Я изменил только заголовки столбцов, поэтому мой CSV выглядит так:
INCIDENT_ID
"2016376978"
Теперь импорт коллекции означает, что заголовок столбца не будет содержать кавычек, и тот же фильтр, что и раньше, не даст результатов (даже если сами значения содержат двойные кавычки):
РЕДАКТИРОВАТЬ
Чтобы уточнить, вы все равно хотите удалить двойные кавычки из CSV значений перед импортом. В моем случае удаление двойных кавычек из значений было бы удобным и ближе к моим ожиданиям.
Однако для запросов Compass это не обязательно; исходный запрос регулярного выражения OP дал бы результаты, если бы только имена их столбцов были удалены из кавычек: