Class: MongoDoc::Collection

Inherits:
Object show all
Defined in:
lib/mongodoc/collection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Collection

Returns a new instance of Collection.



9
10
11
# File 'lib/mongodoc/collection.rb', line 9

def initialize(name)
  self._collection = self.class.mongo_collection(name)
end

Instance Attribute Details

#_collectionObject

Returns the value of attribute _collection.



5
6
7
# File 'lib/mongodoc/collection.rb', line 5

def _collection
  @_collection
end

Instance Method Details

#find(query = {}, options = {}) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/mongodoc/collection.rb', line 13

def find(query = {}, options = {})
  cursor = wrapped_cursor(query, options)
  if block_given?
    yield cursor
    cursor.close
  else
    cursor
  end
end

#find_one(spec_or_object_id = nil, options = {}) ⇒ Object



23
24
25
# File 'lib/mongodoc/collection.rb', line 23

def find_one(spec_or_object_id = nil, options = {})
  MongoDoc::BSON.decode(_collection.find_one(spec_or_object_id, options))
end

#insert(doc_or_docs, options = {}) ⇒ Object Also known as: <<



27
28
29
# File 'lib/mongodoc/collection.rb', line 27

def insert(doc_or_docs, options = {})
  _collection.insert(doc_or_docs.to_bson, options)
end

#save(doc, options = {}) ⇒ Object



32
33
34
# File 'lib/mongodoc/collection.rb', line 32

def save(doc, options = {})
  _collection.save(doc.to_bson, options)
end

#update(spec, doc, options = {}) ⇒ Object



36
37
38
39
# File 'lib/mongodoc/collection.rb', line 36

def update(spec, doc, options = {})
  _collection.update(spec, doc.to_bson, options)
  (last_error || {})['updatedExisting'] || false
end