Подтвердить что ты не робот

Как я могу видеть необработанные запросы mongoDB с Mongoid

Я следил за этой страницей, чтобы посмотреть запросы mongoDB. В результате я смог увидеть журнал мопедов.
Но я не вижу сырые запросы mongoDB.
Как отображать запросы MongoDB в консоли/сервере rails

Мне понравилось следующее.

# in [rails root]/config/environments/development.rb    
Mongoid.logger.level = Logger::DEBUG
Moped.logger.level = Logger::DEBUG
Mongoid.logger = Logger.new("#{Rails.root}/log/mongoid_development.log")
Moped.logger = Logger.new("#{Rails.root}/log/moped_development.log")

# in [rails root]/log/mongoid_development.log
# show nothing.

# in [rails root]/log/moped_development.log
MOPED: [ip address]:27017 QUERY        database=[database name] collection=[collection name] selector={"$query"=>{"screen_name"=>"ts_3156"}, "$orderby"=>{:_id=>1}} flags=[:slave_ok] limit=-1 skip=0 batch_size=nil fields=nil (54.6286ms)

Как я могу просмотреть необработанные запросы mongoDB с помощью Mongoid?
Я хочу видеть, как показано ниже.

db.[collection name].find({ $query: {"screen_name"=>"ts_3156"}, $orderby: {:_id=>1} })

Я вижу необработанные запросы mongoDB в /var/log/mongo/mongo.log.
Но я хочу видеть необработанные запросы в журнале ORM (Mongoid).

4b9b3361

Ответ 2

Думаю, у меня есть ответ. Это следует за ответом dsims, а также из того, что я видел в документации относительно ведения журнала.

У меня есть файл инициализации (config/initializers/mongoid.rb), и там у меня есть:

Mongoid.logger = Logger.new($stdout)
Mongo::Logger.logger = Logger.new($stdout)

Он выгружает информацию о манго на консоли. Вероятно, вы захотите изменить это для производственной среды. Но, развиваясь, мне нравится видеть, что делает БД. Тем более, что я новичок в MongoDb.

Ответ 3

Чтобы запустить команды запросов с помощью Mongoid, запустите mongo из каталога проекта, чтобы написать свои запросы. Примеры, например show collections, db.users.find, если существует таблица пользователей.