Class: Blazer::Adapters::MongodbAdapter
Instance Attribute Summary
Attributes inherited from BaseAdapter
#data_source
Instance Method Summary
collapse
Methods inherited from BaseAdapter
#cost, #explain, #initialize, #reconnect
Instance Method Details
#preview_statement ⇒ Object
24
25
26
|
# File 'lib/blazer/adapters/mongodb_adapter.rb', line 24
def preview_statement
"db.{table}.find().limit(10)"
end
|
#run_statement(statement, comment) ⇒ Object
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/blazer/adapters/mongodb_adapter.rb', line 4
def run_statement(statement, )
columns = []
rows = []
error = nil
begin
documents = db.command({:$eval => "#{statement.strip}.toArray()"}).documents.first["retval"]
columns = documents.flat_map { |r| r.keys }.uniq
rows = documents.map { |r| columns.map { |c| r[c] } }
rescue => e
error = e.message
end
[columns, rows, error]
end
|
#tables ⇒ Object
20
21
22
|
# File 'lib/blazer/adapters/mongodb_adapter.rb', line 20
def tables
db.collection_names
end
|