db.getCollection()
On this page
Definition
db.getCollection(name)
Returns a collection or a view object that is functionally equivalent to using the
db.<collectionName>
syntax. The method is useful for a collection or a view whose name might interact withmongosh
itself, such as names that begin with_
or that match a database shell method.The
db.getCollection()
method has the following parameter:ParameterTypeDescriptionname
stringThe name of the collection.
Compatibility
This method is available in deployments hosted in the following environments:
MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
Note
This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.
MongoDB Enterprise: The subscription-based, self-managed version of MongoDB
MongoDB Community: The source-available, free-to-use, and self-managed version of MongoDB
Behavior
The db.getCollection()
object can access any
collection methods.
The collection specified may or may not exist on the server. If the collection
does not exist, MongoDB creates it implicitly as part of
write operations like
db.collection.insertOne()
.
Example
The following example uses db.getCollection()
to access the
auth
collection and insert a document into it.
var authColl = db.getCollection("auth") authColl.insertOne( { usrName : "John Doe", usrDept : "Sales", usrTitle : "Executive Account Manager", authLevel : 4, authDept : [ "Sales", "Customers"] } )
This returns:
{ "acknowledged" : true, "insertedId" : ObjectId("569525e144fe66d60b772763") }
The previous example requires the use of
db.getCollection("auth")
because
of a name conflict with the database method db.auth()
. Calling
db.auth
directly to perform an insert operation would reference the
db.auth()
method and would error.
The following example attempts the same operation, but without using the
db.getCollection()
method:
db.auth.insertOne( { usrName : "John Doe", usrDept : "Sales", usrTitle : "Executive Account Manager", authLevel : 4, authDept : [ "Sales", "Customers"] } )
The operation errors as db.auth()
method has no insertOne
method.