В моем приложении 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"})
8
jhchen 30 Авг 2011 в 08:24

2 ответа

Лучший ответ

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

Ссылки:

2
Pedro Nascimento 15 Дек 2011 в 00:00

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

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

1
Devin M 30 Авг 2011 в 05:42