2013-07-31 53 views
33

Tôi đã theo dõi trang này để xem các truy vấn mongoDB. Kết quả là tôi có thể nhìn thấy Nhật ký xe máy.
Nhưng tôi không thể nhìn thấy các truy vấn mongoDB thô.
How can I display MongoDB queries in the rails console/serverLàm cách nào tôi có thể xem các truy vấn mong muốn rawoDB với Mongoid

Tôi thích như bên dưới.

# 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) 

Làm cách nào để xem các truy vấn mong muốn rawoDB với Mongoid?
Tôi muốn xem như bên dưới.

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

Tôi có thể xem truy vấn mongoDB thô trong /var/log/mongo/mongo.log.
Nhưng tôi muốn xem các truy vấn thô trong nhật ký ORM (Mongoid).

+1

2 năm sau và vẫn không có câu trả lời hợp lý? – Donato

+0

Lên! điều này rất hữu ích để làm quen với CRUD trong mongodb. – Charlie

+0

Đối với những người tìm kiếm để đăng nhập xe máy để bàn điều khiển: 'Moped.logger = Logger.new ($ stdout)' – dsims

Trả lời

0

Để chạy lệnh truy vấn bằng Mongoid, hãy chạy mongo từ thư mục dự án để viết truy vấn của bạn. Ví dụ như show collections, db.users.find nếu có bảng người dùng.

3

Tôi nghĩ tôi có câu trả lời. Đây là theo dsims câu trả lời và cũng từ những gì tôi đã nhìn thấy trong các tài liệu liên quan đến khai thác gỗ.

Tôi có một tập tin khởi tạo (config/initializers/mongoid.rb) và trong đó tôi có:

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

Nó bãi ra các thông tin Mongo giao diện điều khiển. Bạn có thể muốn thay đổi điều này cho một môi trường sản xuất. Nhưng trong khi phát triển tôi thích để có thể xem DB đang làm gì. Đặc biệt vì tôi là người mới đến MongoDb.