MongoDB продолжает запрашивать пространства имен - PullRequest
8 голосов
/ 30 августа 2011

В моем приложении rails я использую mongoid и в журналах перед почти каждым запросом, даже по одному и тому же запросу, он также делает

MONGODB dbname['system.namespaces'].find({})

Что это делает?Это проблема производительности?Могу ли я как-то кэшировать, чтобы он не делал это все время или, по крайней мере, мешал ему засорять журналы?

Редактировать: Вот соответствующая часть журнала

Processing by FilesController#new as HTML
Started GET "/" for 127.0.0.1 at Fri Sep 09 15:59:43 -0700 2011
[Barista] Compiling all scripts for barista
[Barista] Compiling all coffeescripts
[Barista] Copying all javascripts
MONGODB db['system.namespaces'].find({})
MONGODB db['users'].find({:_id=>BSON::ObjectId('4e6a949935d3e9726b000001')})
MONGODB db['system.namespaces'].find({})
MONGODB db['files'].find({:token=>"nonssb38"})

Ответы [ 2 ]

2 голосов
/ 15 декабря 2011

Это происходит в Mongoid, пока не появится версия 3.0. Обратите внимание, что это происходит только в режиме разработки, поэтому это не имеет большого значения.

Ссылки:

1 голос
/ 30 августа 2011

Что ж, он выполняет операцию с базой данных, поэтому я не вижу, насколько он беспорядок, когда у вас есть обычные запросы в журналах.Документация для MongoDB гласит, что в пространствах имен <dbname>.system.* хранятся метаданные, связанные с базой данных.

Скорее всего, вы не можете кэшировать их, поскольку их данные, возможно, придется обновлять в каждом запросе как частьнекоторого обслуживания базы данных.Я ищу в источнике некоторые конкретные ответы.

...