Definición
db.getCollection(name)Devuelve un(a) colección o un objeto de vista que es funcionalmente equivalente al uso de la sintaxis
db.<collectionName>. El método es útil para una colección o vista cuyo nombre puede interactuar conmongoshél mismo, como nombres que comiencen con_o que coincidan con un método del shell de la base de datos.El método
db.getCollection()tiene el siguiente parámetro:ParameterTipoDescripciónnamestring
El nombre de la colección.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Nota
Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulte Comandos no compatibles.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Comportamiento
El objeto puede acceder a db.getCollection() cualquier método de colección.
La colección especificada puede o no existir en el servidor. Si la colección no existe, MongoDB la crea implícitamente como parte de operaciones de guardar como db.collection.insertOne().
Ejemplo
El siguiente ejemplo usa db.getCollection() para acceder a la colección auth e insertar un documento en ella.
var authColl = db.getCollection("auth") authColl.insertOne( { usrName : "John Doe", usrDept : "Sales", usrTitle : "Executive Account Manager", authLevel : 4, authDept : [ "Sales", "Customers"] } )
Esto regresa:
{ "acknowledged" : true, "insertedId" : ObjectId("569525e144fe66d60b772763") }
El ejemplo anterior requiere el uso de db.getCollection("auth") debido a un conflicto de nombres con el método de base de datos db.auth(). Llamar directamente a db.auth para realizar una operación de inserción haría referencia al método db.auth() y generaría error.
El siguiente ejemplo intenta la misma operación, pero sin utilizar el método db.getCollection():
db.auth.insertOne( { usrName : "John Doe", usrDept : "Sales", usrTitle : "Executive Account Manager", authLevel : 4, authDept : [ "Sales", "Customers"] } )
La operación da error porque el método db.auth() no tiene método insertOne.