Trait

com.mongodb.casbah

MongoCollectionBase

Related Doc: package casbah

Permalink

trait MongoCollectionBase extends Logging

Scala wrapper for Mongo DBCollections, including ones which return custom DBObject subclasses via setObjectClass and the like. Provides any non-parameterized methods and the basic structure. Requires an underlying object of a DBCollection.

This is a rewrite of the Casbah 1.0 approach which was rather naive and unecessarily complex.... formerly was MongoCollectionWrapper

Self Type
MongoCollectionBase
Version

2.0, 12/23/10

Since

1.0

Linear Supertypes
Logging, AnyRef, Any
Known Subclasses
Type Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. MongoCollectionBase
  2. Logging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. abstract type CursorType

    Permalink
  2. abstract type T <: commons.TypeImports.DBObject

    Permalink

Abstract Value Members

  1. abstract def _newCursor(cursor: DBCursor): CursorType

    Permalink

    _newCursor

    _newCursor

    Utility method which concrete subclasses are expected to implement for creating a new instance of the correct cursor implementation from a Java cursor. Good with cursor calls that return a new cursor. Should figure out the right type to return based on typing setup.

    cursor

    (DBCursor)

    returns

    (MongoCursorBase)

  2. abstract def _newInstance(collection: DBCollection): MongoCollectionBase

    Permalink

    _newInstance

    _newInstance

    Utility method which concrete subclasses are expected to implement for creating a new instance of THIS concrete implementation from a Java collection. Good with calls that return a new collection.

    collection

    (DBCollection)

    returns

    (this.type)

  3. abstract def underlying: DBCollection

    Permalink

    The underlying Java Mongo Driver Collection object we proxy.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +=[A](x: A)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject): TypeImports.WriteResult

    Permalink

    Save an object to the Collection

    Save an object to the Collection

    x

    object to save to the collection

  4. def -=[A](x: A)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject): TypeImports.WriteResult

    Permalink

    Remove a matching object from the collection

    Remove a matching object from the collection

    x

    object to remove from the collection

  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. def _typedValue(dbObj: commons.TypeImports.DBObject): Option[T]

    Permalink
    Attributes
    protected
  7. def addOption(option: Int): Unit

    Permalink

    Manipulate Network Options

    Manipulate Network Options

    See also

    com.mongodb.Bytes

    com.mongodb.Mongo

  8. def aggregate[A](pipeline: Iterable[A], options: mongodb.AggregationOptions, readPreference: mongodb.ReadPreference)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject): Cursor

    Permalink

    performs an aggregation operation

    performs an aggregation operation

    pipeline

    the aggregation pipeline

    options

    the aggregation options

    readPreference

    The readPreference for the aggregation

    returns

    The aggregation operation's result set

  9. def aggregate[A](pipeline: Iterable[A], readPreference: mongodb.ReadPreference)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject): AggregationOutput

    Permalink

    performs an aggregation operation

    performs an aggregation operation

    pipeline

    the aggregation pipeline

    readPreference

    The readPreference for the aggregation

    returns

    The aggregation operation's result set

  10. def aggregate[A](pipeline: Iterable[A], options: mongodb.AggregationOptions)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject): Cursor

    Permalink

    performs an aggregation operation

    performs an aggregation operation

    pipeline

    the aggregation pipeline

    options

    the aggregation options

    returns

    The aggregation operation's result set

  11. def aggregate[A](pipeline: Iterable[A])(implicit arg0: (A) ⇒ commons.TypeImports.DBObject): AggregationOutput

    Permalink

    performs an aggregation operation

    performs an aggregation operation

    pipeline

    the aggregation pipeline

    returns

    The aggregation operation's result set

  12. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  13. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  14. def collection(n: String): MongoCollection

    Permalink

    Find a collection that is prefixed with this collection's name.

    Find a collection that is prefixed with this collection's name. A typical use of this might be

    DBCollection users = mongo.getCollection( "wiki" ).getCollection( "users" );
    
    Which is equilalent to
    DBCollection users = mongo.getCollection( "wiki.users" );

    n

    the name of the collection to find

    returns

    the matching collection TODO - Make this support type construction

  15. def count[A, B](query: A = MongoDBObject.empty, fields: B = MongoDBObject.empty, limit: Long = 0, skip: Long = 0, readPrefs: mongodb.ReadPreference = getReadPreference, maxTime: Duration = Duration(0, MILLISECONDS))(implicit arg0: (A) ⇒ commons.TypeImports.DBObject, arg1: (B) ⇒ commons.TypeImports.DBObject): Int

    Permalink
  16. def createIndex[A](keys: A, name: String, unique: Boolean)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject): Unit

    Permalink

    Forces creation of an index on a set of fields, if one does not already exist.

    Forces creation of an index on a set of fields, if one does not already exist.

    keys

    a document that contains pairs with the name of the field or fields to index and order of the index

    name

    an identifier for the index. If null or empty, the default name will be used.

    unique

    if the index should be unique

    Exceptions thrown

    MongoException if the operation failed

  17. def createIndex[A](keys: A, name: String)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject): Unit

    Permalink

    Forces creation of an index on a set of fields, if one does not already exist.

    Forces creation of an index on a set of fields, if one does not already exist.

    keys

    a document that contains pairs with the name of the field or fields to index and order of the index

    name

    an identifier for the index. If null or empty, the default name will be used.

    Exceptions thrown

    MongoException if the operation failed

  18. def createIndex(name: String): Unit

    Permalink

    Forces creation of an ascending index on a field with the default options.

    Forces creation of an ascending index on a field with the default options.

    name

    name of field to index on

    Exceptions thrown

    MongoException if the operation failed

  19. def createIndex[A, B](keys: A, options: B)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject, arg1: (B) ⇒ commons.TypeImports.DBObject): Unit

    Permalink

    Creates an index on the field specified, if that index does not already exist.

    Creates an index on the field specified, if that index does not already exist.

    keys

    a document that contains pairs with the name of the field or fields to index and order of the index

    options

    a document that controls the creation of the index.

  20. def createIndex[A](keys: A)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject): Unit

    Permalink

    Forces creation of an index on a set of fields, if one does not already exist.

    Forces creation of an index on a set of fields, if one does not already exist.

    keys

    an object with a key set of the fields desired for the index

  21. def customDecoderFactory: Option[DBDecoderFactory]

    Permalink
  22. def customEncoderFactory: Option[DBEncoderFactory]

    Permalink
  23. implicit val db: MongoDB

    Permalink

    Returns the database this collection is a member of.

    Returns the database this collection is a member of.

    returns

    this collection's database

  24. def distinct[A](key: String, query: A = MongoDBObject.empty, readPrefs: mongodb.ReadPreference = getReadPreference)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject): Buffer[_]

    Permalink

    Find distinct values for a key

    Find distinct values for a key

    A

    The DBObject type

    key

    the key to find the distinct values for

    query

    the query (optional)

    readPrefs

    the com.mongodb.ReadPreference for the operation.

  25. def drop(): Unit

    Permalink

    Drops (deletes) this collection

  26. def dropCollection(): Unit

    Permalink

    Drops (deletes) this collection

  27. def dropIndex(name: String): Unit

    Permalink
  28. def dropIndex[A](keys: A)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject): Unit

    Permalink
  29. def dropIndexes(name: String): Unit

    Permalink
  30. def dropIndexes(): Unit

    Permalink

    Drops all indices from this collection

  31. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  32. def equals(obj: Any): Boolean

    Permalink

    Checks if this collection is equal to another object.

    Checks if this collection is equal to another object.

    obj

    object with which to compare this collection

    returns

    if the two collections are the same object

    Definition Classes
    MongoCollectionBase → AnyRef → Any
  33. def explainAggregate[A](pipeline: Iterable[A], options: mongodb.AggregationOptions)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject): Map[String, AnyRef]

    Permalink

    Return the explain plan for the aggregation pipeline.

    Return the explain plan for the aggregation pipeline.

    pipeline

    the aggregation pipeline to explain

    options

    the options to apply to the aggregation

    returns

    the command result. The explain output may change from release to release, so best to simply log this.

  34. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  35. def find[A, B](ref: A, keys: B)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject, arg1: (B) ⇒ commons.TypeImports.DBObject): CursorType

    Permalink

    Queries for an object in this collection.

    Queries for an object in this collection.

    An empty DBObject will match every document in the collection. Regardless of fields specified, the _id fields are always returned.

    An example that returns the "x" and "_id" fields for every document in the collection that has an "x" field:

    BasicDBObject keys = new BasicDBObject();
    keys.put("x", 1);
    
    DBCursor cursor = collection.find(new BasicDBObject(), keys);
    

    ref

    object for which to search

    keys

    fields to return

    returns

    a cursor to iterate over results

  36. def find[A](ref: A)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject): CursorType

    Permalink

    Queries for an object in this collection.

    Queries for an object in this collection.

    ref

    object for which to search

    returns

    an iterator over the results

  37. def find(): CursorType

    Permalink

    Queries for all objects in this collection.

    Queries for all objects in this collection.

    returns

    a cursor which will iterate over every object

  38. def findAndModify[A, B, C, D](query: A, fields: B, sort: C, remove: Boolean, update: D, returnNew: Boolean, upsert: Boolean, bypassDocumentValidation: Boolean, maxTime: Duration, writeConcern: mongodb.WriteConcern)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject, arg1: (B) ⇒ commons.TypeImports.DBObject, arg2: (C) ⇒ commons.TypeImports.DBObject, arg3: (D) ⇒ commons.TypeImports.DBObject): Option[T]

    Permalink

    Finds the first document in the query and updates it.

    Finds the first document in the query and updates it.

    query

    query to match

    fields

    fields to be returned

    sort

    sort to apply before picking first document

    remove

    if true, document found will be removed

    update

    update to apply

    returnNew

    if true, the updated document is returned, otherwise the old document is returned (or it would be lost forever)

    upsert

    do upsert (insert if document not present)

    bypassDocumentValidation

    whether to bypass document validation.

    maxTime

    the maximum duration that the server will allow this operation to execute before killing it

    writeConcern

    the write concern to apply to this operation

    Since

    3.1.0

    Exceptions thrown

    MongoException if the operation failed for some other reason

    WriteConcernException if the write failed due some other failure specific to the update command

  39. def findAndModify[A, B, C, D](query: A, fields: B, sort: C, remove: Boolean, update: D, returnNew: Boolean, upsert: Boolean, bypassDocumentValidation: Boolean, maxTime: Duration)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject, arg1: (B) ⇒ commons.TypeImports.DBObject, arg2: (C) ⇒ commons.TypeImports.DBObject, arg3: (D) ⇒ commons.TypeImports.DBObject): Option[T]

    Permalink

    Finds the first document in the query and updates it.

    Finds the first document in the query and updates it.

    query

    query to match

    fields

    fields to be returned

    sort

    sort to apply before picking first document

    remove

    if true, document found will be removed

    update

    update to apply

    returnNew

    if true, the updated document is returned, otherwise the old document is returned (or it would be lost forever)

    upsert

    do upsert (insert if document not present)

    bypassDocumentValidation

    whether to bypass document validation.

    maxTime

    the maximum duration that the server will allow this operation to execute before killing it

    Since

    3.1.0

    Exceptions thrown

    MongoException if the operation failed for some other reason

    WriteConcernException if the write failed due some other failure specific to the update command

    Note

    bypassDocumentValidation requires MongoDB 3.2 or greater

  40. def findAndModify[A, B, C, D](query: A, fields: B, sort: C, remove: Boolean, update: D, returnNew: Boolean, upsert: Boolean, maxTime: Duration, writeConcern: mongodb.WriteConcern)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject, arg1: (B) ⇒ commons.TypeImports.DBObject, arg2: (C) ⇒ commons.TypeImports.DBObject, arg3: (D) ⇒ commons.TypeImports.DBObject): Option[T]

    Permalink

    Finds the first document in the query and updates it.

    Finds the first document in the query and updates it.

    query

    query to match

    fields

    fields to be returned

    sort

    sort to apply before picking first document

    remove

    if true, document found will be removed

    update

    update to apply

    returnNew

    if true, the updated document is returned, otherwise the old document is returned (or it would be lost forever)

    upsert

    do upsert (insert if document not present)

    maxTime

    the maximum duration that the server will allow this operation to execute before killing it

    writeConcern

    the write concern to apply to this operation

    Since

    3.1.0

    Exceptions thrown

    MongoException if the operation failed for some other reason

    WriteConcernException if the write failed due some other failure specific to the update command

  41. def findAndModify[A, B, C, D](query: A, fields: B, sort: C, remove: Boolean, update: D, returnNew: Boolean, upsert: Boolean, maxTime: Duration)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject, arg1: (B) ⇒ commons.TypeImports.DBObject, arg2: (C) ⇒ commons.TypeImports.DBObject, arg3: (D) ⇒ commons.TypeImports.DBObject): Option[T]

    Permalink

    Finds the first document in the query and updates it.

    Finds the first document in the query and updates it.

    query

    query to match

    fields

    fields to be returned

    sort

    sort to apply before picking first document

    remove

    if true, document found will be removed

    update

    update to apply

    returnNew

    if true, the updated document is returned, otherwise the old document is returned (or it would be lost forever)

    upsert

    do upsert (insert if document not present)

    maxTime

    the maximum duration that the server will allow this operation to execute before killing it

    returns

    the document as it was before the modifications, unless returnNew is true, in which case it returns the document after the changes were made

  42. def findAndModify[A, B, C, D](query: A, fields: B, sort: C, remove: Boolean, update: D, returnNew: Boolean, upsert: Boolean, writeConcern: mongodb.WriteConcern)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject, arg1: (B) ⇒ commons.TypeImports.DBObject, arg2: (C) ⇒ commons.TypeImports.DBObject, arg3: (D) ⇒ commons.TypeImports.DBObject): Option[T]

    Permalink

    Atomically modify and return a single document.

    Atomically modify and return a single document. By default, the returned document does not include the modifications made on the update.

    query

    specifies the selection criteria for the modification

    fields

    a subset of fields to return

    sort

    determines which document the operation will modify if the query selects multiple documents

    remove

    when true, removes the selected document

    update

    the modifications to apply

    returnNew

    when true, returns the modified document rather than the original

    upsert

    when true, operation creates a new document if the query returns no documents

    writeConcern

    the write concern to apply to this operation

    returns

    the document as it was before the modifications, unless returnNew is true, in which case it returns the document after the changes were made

    Since

    3.1.0

    Exceptions thrown

    MongoException if the operation failed for some other reason

    WriteConcernException if the write failed due some other failure specific to the update command

  43. def findAndModify[A, B, C, D](query: A, fields: B, sort: C, remove: Boolean, update: D, returnNew: Boolean, upsert: Boolean)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject, arg1: (B) ⇒ commons.TypeImports.DBObject, arg2: (C) ⇒ commons.TypeImports.DBObject, arg3: (D) ⇒ commons.TypeImports.DBObject): Option[T]

    Permalink

    Finds the first document in the query and updates it.

    Finds the first document in the query and updates it.

    query

    query to match

    fields

    fields to be returned

    sort

    sort to apply before picking first document

    remove

    if true, document found will be removed

    update

    update to apply

    returnNew

    if true, the updated document is returned, otherwise the old document is returned (or it would be lost forever)

    upsert

    do upsert (insert if document not present)

    returns

    the document as it was before the modifications, unless returnNew is true, in which case it returns the document after the changes were made

  44. def findAndModify[A, B, C](query: A, sort: B, update: C)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject, arg1: (B) ⇒ commons.TypeImports.DBObject, arg2: (C) ⇒ commons.TypeImports.DBObject): Option[T]

    Permalink

    Finds the first document in the query (sorted) and updates it.

    Finds the first document in the query (sorted) and updates it.

    query

    query to match

    sort

    sort to apply before picking first document

    update

    update to apply

    returns

    the old document

  45. def findAndModify[A, B](query: A, update: B)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject, arg1: (B) ⇒ commons.TypeImports.DBObject): Option[T]

    Permalink

    Finds the first document in the query (sorted) and updates it.

    Finds the first document in the query (sorted) and updates it. If remove is specified it will be removed. If new is specified then the updated document will be returned, otherwise the old document is returned (or it would be lost forever). You can also specify the fields to return in the document, optionally.

    query

    query to match

    update

    update to apply

    returns

    (Option[T]) of the the found document (before, or after the update)

  46. def findAndRemove[A](query: A)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject): Option[T]

    Permalink

    Finds the first document in the query and removes it.

    Finds the first document in the query and removes it.

    returns

    the removed document

  47. def findOne[A, B, C](o: A = MongoDBObject.empty, fields: B = MongoDBObject.empty, orderBy: C = MongoDBObject.empty, readPrefs: mongodb.ReadPreference = getReadPreference, maxTime: Duration = Duration(0, MILLISECONDS))(implicit arg0: (A) ⇒ commons.TypeImports.DBObject, arg1: (B) ⇒ commons.TypeImports.DBObject, arg2: (C) ⇒ commons.TypeImports.DBObject): Option[T]

    Permalink

    Returns a single object from this collection matching the query.

    Returns a single object from this collection matching the query.

    o

    the query object

    fields

    (optional) fields to return

    orderBy

    (optional) a document whose fields specify the attributes on which to sort the result set.

    readPrefs

    (optional)

    maxTime

    (optional) the maximum duration that the server will allow this operation to execute before killing it

    returns

    (Option[T]) Some() of the object found, or None if no such object exists

  48. def findOne(): Option[T]

    Permalink

    Returns a single object from this collection.

    Returns a single object from this collection.

    returns

    (Option[T]) Some() of the object found, or None if this collection is empty

  49. def findOneByID[B](id: AnyRef, fields: B)(implicit arg0: (B) ⇒ commons.TypeImports.DBObject): Option[T]

    Permalink

    Find an object by its ID.

    Find an object by its ID. Finds an object by its id. This compares the passed in value to the _id field of the document.

    Returns a single object from this collection matching the query.

    id

    the id to match

    fields

    fields to return

    returns

    (Option[T]) Some() of the object found, or None if no such object exists

  50. def findOneByID(id: AnyRef): Option[T]

    Permalink

    Find an object by its ID.

    Find an object by its ID. Finds an object by its id. This compares the passed in value to the _id field of the document.

    Returns a single object from this collection matching the query.

    id

    the id to match

    returns

    (Option[T]) Some() of the object found, or None if no such object exists

  51. def fullName: String

    Permalink

    Returns the full name of this collection, with the database name as a prefix.

    Returns the full name of this collection, with the database name as a prefix.

    returns

    the name of this collection

  52. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  53. def getCollection(n: String): MongoCollection

    Permalink

    Find a collection that is prefixed with this collection's name.

    Find a collection that is prefixed with this collection's name. A typical use of this might be

    DBCollection users = mongo.getCollection( "wiki" ).getCollection( "users" );
    
    Which is equilalent to
    DBCollection users = mongo.getCollection( "wiki.users" );

    n

    the name of the collection to find

    returns

    the matching collection TODO - Make this support type construction

  54. def getCount[A, B](query: A = MongoDBObject.empty, fields: B = MongoDBObject.empty, limit: Long = 0, skip: Long = 0, readPrefs: mongodb.ReadPreference = getReadPreference, maxTime: Duration = Duration(0, MILLISECONDS))(implicit arg0: (A) ⇒ commons.TypeImports.DBObject, arg1: (B) ⇒ commons.TypeImports.DBObject): Int

    Permalink

    Returns the number of documents in the collection that match the specified query

    Returns the number of documents in the collection that match the specified query

    query

    specifies the selection criteria

    fields

    this is ignored

    limit

    limit the count to this value

    skip

    number of documents to skip

    readPrefs

    The [ReadPreference] to be used for this operation

    maxTime

    the maximum duration that the server will allow this operation to execute before killing it

    returns

    the number of documents that matches selection criteria

  55. def getDB: MongoDB

    Permalink

    Returns the database this collection is a member of.

    Returns the database this collection is a member of.

    returns

    this collection's database

  56. def getFullName: String

    Permalink

    Returns the full name of this collection, with the database name as a prefix.

    Returns the full name of this collection, with the database name as a prefix.

    returns

    the name of this collection

  57. def getIndexInfo: Buffer[commons.TypeImports.DBObject]

    Permalink

    Return a list of the indexes for this collection.

    Return a list of the indexes for this collection. Each object in the list is the "info document" from MongoDB

    returns

    list of index documents

  58. def getName: String

    Permalink
  59. def getObjectClass: Class[_]

    Permalink

    Gets the default class for objects in the collection

    Gets the default class for objects in the collection

    returns

    the class

  60. def getOptions: Int

    Permalink

    Manipulate Network Options

    Manipulate Network Options

    See also

    com.mongodb.Bytes

    com.mongodb.Mongo

  61. def getReadPreference: mongodb.ReadPreference

    Permalink

    Gets the read preference for this collection.

    Gets the read preference for this collection. Will be used as default for reads from any collection in this collection. See the documentation for com.mongodb.casbah.ReadPreference for more information.

  62. def getStats: CommandResult

    Permalink
  63. def getWriteConcern: mongodb.WriteConcern

    Permalink

    get the write concern for this database, which is used for writes to any collection in this database.

    get the write concern for this database, which is used for writes to any collection in this database. See the documentation for com.mongodb.WriteConcern for more info.

    See also

    http://www.thebuzzmedia.com/mongodb-single-server-data-durability-guide/

    WriteConcern

  64. def group[A, B, C](key: A, cond: B, initial: C, reduce: String, finalize: String = null, readPrefs: mongodb.ReadPreference = getReadPreference)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject, arg1: (B) ⇒ commons.TypeImports.DBObject, arg2: (C) ⇒ commons.TypeImports.DBObject): Iterable[T]

    Permalink

    Applies a group operation

    Applies a group operation

    key

    the key to group { a : true }

    cond

    optional condition on query

    initial

    initial value for first match on a key

    reduce

    javascript reduce function

    finalize

    An optional function that can operate on the result(s) of the reduce function.

    readPrefs

    ReadPreferences for this command

    returns

    The results of the group

  65. def hashCode(): Int

    Permalink
    Definition Classes
    MongoCollectionBase → AnyRef → Any
  66. def hintFields_=[A](docs: List[A])(implicit arg0: (A) ⇒ commons.TypeImports.DBObject): Unit

    Permalink

    Set hint fields for this collection.

    Set hint fields for this collection.

    docs

    a list of DBObjects to be used as hints

  67. def indexInfo: Buffer[commons.TypeImports.DBObject]

    Permalink

    Return a list of the indexes for this collection.

    Return a list of the indexes for this collection. Each object in the list is the "info document" from MongoDB

    returns

    list of index documents

  68. def initializeOrderedBulkOperation: BulkWriteOperation

    Permalink

    Creates a builder for an ordered bulk operation.

    Creates a builder for an ordered bulk operation. Write requests included in the bulk operations will be executed in order, and will halt on the first failure.

    returns

    the builder

    Since

    2.7

  69. def initializeUnorderedBulkOperation: BulkWriteOperation

    Permalink

    Creates a builder for an unordered bulk operation.

    Creates a builder for an unordered bulk operation. Write requests included in the bulk operation will be executed in an undefined order, and all requests will be executed even if some fail.

    returns

    the builder

    Since

    2.7

  70. def insert[A](insertOptions: InsertOptions, docs: A*)(implicit dbObjView: (A) ⇒ commons.TypeImports.DBObject): TypeImports.WriteResult

    Permalink

    Saves document(s) to the database.

    Saves document(s) to the database. if doc doesn't have an _id, one will be added you can get the _id that was added from doc after the insert

    insertOptions

    the insertOptions

    docs

    array of documents (<% DBObject) to save

  71. def insert[A](docs: A*)(implicit dbObjView: (A) ⇒ commons.TypeImports.DBObject, concern: mongodb.WriteConcern = writeConcern, encoder: TypeImports.DBEncoder = ...): TypeImports.WriteResult

    Permalink

    Saves document(s) to the database.

    Saves document(s) to the database. if doc doesn't have an _id, one will be added you can get the _id that was added from doc after the insert

    docs

    array of documents (<% DBObject) to save TODO - Wrapper for WriteResult?

  72. def insert[A](doc: A, concern: mongodb.WriteConcern)(implicit dbObjView: (A) ⇒ commons.TypeImports.DBObject): TypeImports.WriteResult

    Permalink

    Saves document(s) to the database.

    Saves document(s) to the database. if doc doesn't have an _id, one will be added you can get the _id that was added from doc after the insert

    doc

    array of documents (<% DBObject) to save

    concern

    the WriteConcern for the insert

  73. def internalClass_=[A <: commons.TypeImports.DBObject](path: String, c: Class[A]): Unit

    Permalink
  74. def isCapped: Boolean

    Permalink
  75. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  76. def iterator: CursorType

    Permalink
  77. var log: Logger

    Permalink
    Attributes
    protected[com.mongodb.casbah]
    Definition Classes
    Logging
  78. def mapReduce(cmd: map_reduce.MapReduceCommand): MapReduceResult

    Permalink

    mapReduce execute a mapReduce against this collection.

    mapReduce execute a mapReduce against this collection.

    Throws a MongoExecutionTimeoutException if exceeds max duration limit otherwise returns a MapReduceResult

    cmd

    the MapReduceCommand

  79. def mapReduce(mapFunction: Imports.JSFunction, reduceFunction: Imports.JSFunction, output: Imports.MapReduceOutputTarget, query: Option[commons.TypeImports.DBObject] = None, sort: Option[commons.TypeImports.DBObject] = None, limit: Option[Int] = None, finalizeFunction: Option[Imports.JSFunction] = None, jsScope: Option[commons.TypeImports.DBObject] = None, verbose: Boolean = false, maxTime: Option[Duration] = None): MapReduceResult

    Permalink

    mapReduce execute a mapReduce against this collection.

    mapReduce execute a mapReduce against this collection.

    mapFunction

    the map function (JSFunction is just a type alias for String)

    reduceFunction

    the reduce function (JSFunction is just a type alias for String)

    output

    the location of the result of the map-reduce operation, defaults to inline. You can output to a collection, output to a collection with an action, or output inline.

    query

    (optional) the selection criteria for the documents input to the map function.

    sort

    (optional) the input documents, useful for optimization.

    limit

    (optional) the maximum number of documents to return from the collection before map reduce

    finalizeFunction

    (optional) the finalize function (JSFunction is just a type alias for String)

    jsScope

    (optional) global variables that are accessible in the map, reduce and finalize functions

    verbose

    (optional) include the timing information in the result information

    maxTime

    (optional) the maximum duration that the server will allow this operation to execute before killing it

  80. def name: String

    Permalink
  81. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  82. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  83. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  84. def objectClass: Class[_]

    Permalink

    Gets the default class for objects in the collection

    Gets the default class for objects in the collection

    returns

    the class

  85. def objectClass_=[A <: commons.TypeImports.DBObject](c: Class[A])(implicit arg0: Manifest[A]): MongoGenericTypedCollection[A]

    Permalink

    setObjectClass

    setObjectClass

    Set a subtype of DBObject which will be used to deserialize documents returned from MongoDB.

    This method will return a new MongoTypedCollection[A] which you should capture if you want explicit casting. Else, this collection will instantiate instances of A but cast them to the current T (DBObject if you have a generic collection)

    A

    A Subtype of DBObject

    c

    (Class[A])

  86. def options: Int

    Permalink

    Manipulate Network Options

    Manipulate Network Options

    See also

    com.mongodb.Bytes

    com.mongodb.Mongo

  87. def parallelScan(options: ParallelScanOptions): Buffer[Cursor]

    Permalink

    Return a list of cursors over the collection that can be used to scan it in parallel.

    Return a list of cursors over the collection that can be used to scan it in parallel.

    Note: As of MongoDB 2.6, this method will work against a mongod, but not a mongos.

    options

    the parallel scan options

    returns

    a list of cursors, whose size may be less than the number requested

    Since

    2.7

  88. def readPreference: mongodb.ReadPreference

    Permalink

    Gets the read preference for this collection.

    Gets the read preference for this collection. Will be used as default for reads from any collection in this collection. See the documentation for com.mongodb.casbah.ReadPreference for more information.

  89. def readPreference_=(pref: mongodb.ReadPreference): Unit

    Permalink

    Sets the read preference for this collection.

    Sets the read preference for this collection. Will be used as default for reads from any collection in this collection. See the documentation for com.mongodb.casbah.ReadPreference for more information.

    pref

    Read Preference to use

  90. def remove[A](o: A, concern: mongodb.WriteConcern = getWriteConcern)(implicit dbObjView: (A) ⇒ commons.TypeImports.DBObject, encoder: TypeImports.DBEncoder = ...): TypeImports.WriteResult

    Permalink

    Removes objects from the database collection.

    Removes objects from the database collection.

    o

    the object that documents to be removed must match

    concern

    WriteConcern for this operation TODO - Wrapper for WriteResult?

  91. def rename(newName: String, dropTarget: Boolean): MongoCollection

    Permalink

    does a rename of this collection to newName As per the Java API this returns a *NEW* Collection, and the old collection is probably no good anymore.

    does a rename of this collection to newName As per the Java API this returns a *NEW* Collection, and the old collection is probably no good anymore.

    This collection *WILL NOT* mutate --- the instance will still point at a now nonexistant collection with the old name ... You must capture the return value for the new instance.

    newName

    new collection name (not a full namespace)

    dropTarget

    if a collection with the new name exists, whether or not to drop it

    returns

    the new collection

  92. def rename(newName: String): MongoCollection

    Permalink

    does a rename of this collection to newName As per the Java API this returns a *NEW* Collection, and the old collection is probably no good anymore.

    does a rename of this collection to newName As per the Java API this returns a *NEW* Collection, and the old collection is probably no good anymore.

    This collection *WILL NOT* mutate --- the instance will still point at a now nonexistant collection with the old name ... You must capture the return value for the new instance.

    newName

    new collection name (not a full namespace)

    returns

    the new collection

  93. def resetOptions(): Unit

    Permalink

    Manipulate Network Options

    Manipulate Network Options

    See also

    com.mongodb.Bytes

    com.mongodb.Mongo

  94. def save[A](o: A, concern: mongodb.WriteConcern = getWriteConcern)(implicit dbObjView: (A) ⇒ commons.TypeImports.DBObject): TypeImports.WriteResult

    Permalink

    Saves an object to this collection.

    Saves an object to this collection.

    o

    the DBObject to save will add _id field to o if needed TODO - Wrapper for WriteResult?

  95. def setHintFields[A](docs: List[A])(implicit arg0: (A) ⇒ commons.TypeImports.DBObject): Unit

    Permalink

    Set hint fields for this collection.

    Set hint fields for this collection.

    docs

    a list of DBObjects to be used as hints

  96. def setInternalClass[A <: commons.TypeImports.DBObject](path: String, c: Class[A]): Unit

    Permalink
  97. def setObjectClass[A <: commons.TypeImports.DBObject](c: Class[A])(implicit arg0: Manifest[A]): MongoGenericTypedCollection[A]

    Permalink

    setObjectClass

    setObjectClass

    Set a subtype of DBObject which will be used to deserialize documents returned from MongoDB.

    This method will return a new MongoTypedCollection[A] which you should capture if you want explicit casting. Else, this collection will instantiate instances of A but cast them to the current T (DBObject if you have a generic collection)

    A

    A Subtype of DBObject TODO - Ensure proper subtype return

    c

    (Class[A])

  98. def setReadPreference(pref: mongodb.ReadPreference): Unit

    Permalink

    Sets the read preference for this collection.

    Sets the read preference for this collection. Will be used as default for reads from any collection in this collection. See the documentation for com.mongodb.casbah.ReadPreference for more information.

    pref

    Read Preference to use

  99. def setWriteConcern(concern: mongodb.WriteConcern): Unit

    Permalink

    Set the write concern for this database.

    Set the write concern for this database. Will be used for writes to any collection in this database. See the documentation for com.mongodb.WriteConcern for more info.

    concern

    (WriteConcern) The write concern to use

    See also

    http://www.thebuzzmedia.com/mongodb-single-server-data-durability-guide/

    WriteConcern

  100. def stats: CommandResult

    Permalink
  101. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  102. def toString(): String

    Permalink
    Definition Classes
    MongoCollectionBase → AnyRef → Any
  103. def update[A, B](q: A, o: B, upsert: Boolean = false, multi: Boolean = false, concern: mongodb.WriteConcern = this.writeConcern, bypassDocumentValidation: Option[Boolean] = None)(implicit queryView: (A) ⇒ commons.TypeImports.DBObject, objView: (B) ⇒ commons.TypeImports.DBObject, encoder: TypeImports.DBEncoder = ...): TypeImports.WriteResult

    Permalink

    Performs an update operation.

    Performs an update operation.

    q

    search query for old object to update

    o

    object with which to update q

  104. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  105. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  106. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  107. def writeConcern: mongodb.WriteConcern

    Permalink

    get the write concern for this database, which is used for writes to any collection in this database.

    get the write concern for this database, which is used for writes to any collection in this database. See the documentation for com.mongodb.WriteConcern for more info.

    See also

    http://www.thebuzzmedia.com/mongodb-single-server-data-durability-guide/

    WriteConcern

  108. def writeConcern_=(concern: mongodb.WriteConcern): Unit

    Permalink

    Set the write concern for this database.

    Set the write concern for this database. Will be used for writes to any collection in this database. See the documentation for com.mongodb.WriteConcern for more info.

    concern

    (WriteConcern) The write concern to use

    See also

    http://www.thebuzzmedia.com/mongodb-single-server-data-durability-guide/

    WriteConcern

Deprecated Value Members

  1. def aggregate(pipeline: commons.TypeImports.DBObject*): AggregationOutput

    Permalink

    performs an aggregation operation

    performs an aggregation operation

    pipeline

    the aggregation pipeline

    returns

    The aggregation operation's result set

    Annotations
    @deprecated
    Deprecated

    (Since version 2.7) Use aggregate(List(DBObject) instead

  2. def find[A, B](ref: A, fields: B, numToSkip: Int, batchSize: Int)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject, arg1: (B) ⇒ commons.TypeImports.DBObject): CursorType

    Permalink

    Finds an object.

    Finds an object.

    ref

    query used to search

    fields

    the fields of matching objects to return

    numToSkip

    will not return the first numToSkip matches

    batchSize

    if positive, is the # of objects per batch sent back from the db. All objects that match will be returned. if batchSize < 0, its a hard limit, and only 1 batch will either batchSize or the # that fit in a batch

    returns

    the objects, if found

    Annotations
    @deprecated
    Deprecated

    (Since version 2.7) Use find().skip().batchSize().

  3. def slaveOk(): Unit

    Permalink

    Sets queries to be OK to run on slave nodes.

    Sets queries to be OK to run on slave nodes.

    Annotations
    @deprecated @SuppressWarnings()
    Deprecated

    (Since version 2.3.0) Replaced with ReadPreference.SECONDARY

  4. def updateMulti[A, B](q: A, o: B)(implicit arg0: (A) ⇒ commons.TypeImports.DBObject, arg1: (B) ⇒ commons.TypeImports.DBObject): TypeImports.WriteResult

    Permalink

    Perform a multi update

    Perform a multi update

    q

    search query for old object to update

    o

    object with which to update q

    Annotations
    @deprecated
    Deprecated

    (Since version 2.3.0) In the face of default arguments this is a bit silly. Please use update(multi=True).

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped