Definición
db.getCollection(name)Devuelve un Colección o un objeto de vista que es funcionalmente equivalente a usar la
db.<collectionName>sintaxis. El método es útil para una colección o una vista cuyo nombre podría interactuar conmongoshen sí, como nombres que comienzan con_o que coinciden con un método de shell de 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 existir o no en el servidor. Si no existe, MongoDB la crea implícitamente como parte de operaciones de db.collection.insertOne() escritura como.
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 devuelve:
{ "acknowledged" : true, "insertedId" : ObjectId("569525e144fe66d60b772763") }
El ejemplo anterior requiere el uso de debido a un conflicto de db.getCollection("auth") db.auth() nombre db.auth con el método de base de datos. Llamar directamente a para realizar una operación de inserción db.auth() haría referencia al método y generaría un error.
El siguiente ejemplo intenta la misma operación, pero sin utilizar el db.getCollection() método:
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.