DB#collections method, thanks to Durran Jordan and Les Hill
This commit is contained in:
parent
734edf6c65
commit
1124c05f1f
|
@ -297,6 +297,9 @@ Paul Dlug, paul.dlug@gmail.com
|
|||
* Generate _id on the client side if not provided
|
||||
* Collection#insert and Collection#save return _id
|
||||
|
||||
Durran Jordan and Les Hill, durran@gmail.com
|
||||
* DB#collections
|
||||
|
||||
= License
|
||||
|
||||
Copyright 2008-2009 10gen Inc.
|
||||
|
|
|
@ -192,6 +192,14 @@ module Mongo
|
|||
names.map {|name| name.sub(@name + '.', '')}
|
||||
end
|
||||
|
||||
# Retruns an array of Collection instances, one for each collection in this
|
||||
# database.
|
||||
def collections
|
||||
collection_names.map do |collection_name|
|
||||
Collection.new(self, collection_name)
|
||||
end
|
||||
end
|
||||
|
||||
# Returns a cursor over query result hashes. Each hash contains a
|
||||
# 'name' string and optionally an 'options' hash. If +coll_name+ is
|
||||
# specified, an array of length 1 is returned.
|
||||
|
|
|
@ -183,8 +183,10 @@ class TestCollection < Test::Unit::TestCase
|
|||
|
||||
assert_equal :mike, @@test.find_one(:foo => :mike)["foo"]
|
||||
assert_equal :mike, @@test.find_one("foo" => :mike)["foo"]
|
||||
assert_equal nil, @@test.find_one(:foo => "mike")
|
||||
assert_equal nil, @@test.find_one("foo" => "mike")
|
||||
|
||||
# TODO enable these tests conditionally based on server version (if >1.0)
|
||||
# assert_equal :mike, @@test.find_one(:foo => "mike")["foo"]
|
||||
# assert_equal :mike, @@test.find_one("foo" => "mike")["foo"]
|
||||
end
|
||||
|
||||
def test_group_with_scope
|
||||
|
|
|
@ -63,6 +63,18 @@ class DBTest < Test::Unit::TestCase
|
|||
}
|
||||
end
|
||||
|
||||
def test_collections
|
||||
@@db.collection("test.durran").insert("foo" => 5)
|
||||
@@db.collection("test.les").insert("bar" => 0)
|
||||
|
||||
colls = @@db.collections()
|
||||
assert_not_nil colls.select { |coll| coll.name == "test.durran" }
|
||||
assert_not_nil colls.select { |coll| coll.name == "test.les" }
|
||||
assert_equal [], colls.select { |coll| coll.name == "does_not_exist" }
|
||||
|
||||
assert_kind_of Collection, colls[0]
|
||||
end
|
||||
|
||||
def test_pair
|
||||
@@db.close
|
||||
@@users = nil
|
||||
|
|
Loading…
Reference in New Issue