#mongodb
#mongodb
Вопрос:
У меня есть сервер Mongo DB версии 4.0.0, установленный в Linux. У меня есть коллекция с именем «журналы».
У меня есть служба Windows, работающая на .NET Framework 4.7.2634.0, версия драйвера C # 2.5.0.0
Итак, у меня есть несколько вопросов
- Это нормально, если разные машины обращаются к Mongo DB с разными версиями драйверов C #?
- Может ли быть, что Mongo Compass 1.23.0 постоянно агрегируется в моих коллекциях, поскольку у меня ужасная производительность, и как только я ее отключаю, Mongo DB, похоже, значительно улучшается.
- Почему я не могу найти полный синтаксис find и объяснить его в журнале Mongo DB для запросов, которые завершились неудачно из-за тайм-аута?
- У меня есть несколько индексов. Среди них у меня есть эти два
{ Section: 1, Headline: 1, Timestamp: -1 }
{ Section: 1, Severity: 1, Timestamp: -1 }
Я выполняю
db.logs.find({ Section: "Machine", Headline: /^Shutdown.*/ }
и в журналах я вижу
planSummary: IXSCAN { Section: 1, Headline: 1, Timestamp: -1 },
IXSCAN { Section: 1, Severity: 1, Timestamp: -1 }
Это очень странно, почему он также сканирует второй индекс (тот, у которого есть поле серьезности), если я фильтрую только поле, содержащееся в первом индексе (поле заголовка)?
Комментарии:
1. Ваш последний вопрос непонятен, пожалуйста, исправьте форматирование.
2. Спасибо за ваш комментарий! Я только что отредактировал 4-й вопрос, который на самом деле является самым острым.
3. Добавьте полный план запроса к вопросу.
4. Это то, что я вижу в журналах. Не хотели бы вы проинструктировать меня, как просмотреть полный план запроса? Когда я пытаюсь использовать функцию Compass Explain, я на самом деле ничего не получаю
5. Это хорошо документированная операция.
Ответ №1:
Это нормально, если разные машины обращаются к Mongo DB с разными версиями драйверов C #?
ДА.
Может ли быть, что Mongo Compass 1.23.0 постоянно агрегируется в моих коллекциях, поскольку у меня ужасная производительность, и как только я ее отключаю, Mongo DB, похоже, значительно улучшается.
Включите полное ведение журнала запросов, чтобы проверить гипотезу «постоянного агрегирования в моих коллекциях». Предполагая, что это то, что происходит на самом деле, используйте метаданные подключения, чтобы определить, какой драйвер выдает эти запросы.
Почему я не могу найти полный синтаксис find и объяснить его в журнале Mongo DB для запросов, которые завершились неудачно из-за тайм-аута?
Вы не включили ведение журнала запросов, или запрос не попал на сервер, или вы пропустили его в журнале, или вы смотрели в неправильном журнале.