2009-02-03 17:15:35 +00:00
|
|
|
$LOAD_PATH[0,0] = File.join(File.dirname(__FILE__), '..', 'lib')
|
|
|
|
require 'mongo'
|
|
|
|
require 'pp'
|
|
|
|
|
|
|
|
include XGen::Mongo::Driver
|
|
|
|
|
|
|
|
host = ENV['MONGO_RUBY_DRIVER_HOST'] || 'localhost'
|
|
|
|
port = ENV['MONGO_RUBY_DRIVER_PORT'] || XGen::Mongo::Driver::Mongo::DEFAULT_PORT
|
|
|
|
|
|
|
|
puts "Connecting to #{host}:#{port}"
|
2009-02-10 16:22:48 +00:00
|
|
|
db = Mongo.new(host, port).db('ruby-mongo-examples')
|
2009-02-03 17:31:08 +00:00
|
|
|
coll = db.create_collection('test')
|
2009-02-03 17:15:35 +00:00
|
|
|
|
|
|
|
# Erase all records from collection, if any
|
|
|
|
coll.clear
|
|
|
|
|
|
|
|
admin = db.admin
|
|
|
|
|
2009-02-03 20:07:02 +00:00
|
|
|
# Profiling level set/get
|
|
|
|
p admin.profiling_level
|
2009-02-03 17:15:35 +00:00
|
|
|
|
2009-02-03 20:07:02 +00:00
|
|
|
# Start profiling everything
|
|
|
|
admin.profiling_level = :all
|
2009-02-03 17:15:35 +00:00
|
|
|
|
2009-02-03 20:07:02 +00:00
|
|
|
# Read records, creating a profiling event
|
|
|
|
coll.find().to_a
|
2009-02-03 17:15:35 +00:00
|
|
|
|
2009-02-03 20:07:02 +00:00
|
|
|
# Stop profiling
|
|
|
|
admin.profiling_level = :off
|
2009-02-03 17:15:35 +00:00
|
|
|
|
2009-02-03 20:07:02 +00:00
|
|
|
# Print all profiling info
|
|
|
|
pp admin.profiling_info
|
2009-02-03 17:31:08 +00:00
|
|
|
|
|
|
|
# Validate returns a hash if all is well or raises an exception if there is a
|
|
|
|
# problem.
|
|
|
|
info = admin.validate_collection(coll.name)
|
2009-02-03 19:19:30 +00:00
|
|
|
puts "valid = #{info['ok']}"
|
2009-02-03 17:31:08 +00:00
|
|
|
puts info['result']
|
2009-02-03 17:15:35 +00:00
|
|
|
|
|
|
|
# Destroy the collection
|
|
|
|
coll.drop
|