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. 返回功能等同于使用db.<collectionName>语法的集合对象或视图对象。The method is useful for a collection or a view whose name might interact with the mongo shell itself, such as names that begin with _ or that match a database shell method.该方法对于名称可能与mongo shell本身交互的集合或视图非常有用,例如以_开头的名称或与数据库shell方法匹配的名称。

The db.getCollection() method has the following parameter:db.getCollection()方法具有以下参数:

Parameter参数Type类型Description描述
name string The name of the collection.集合的名称。

Behavior行为

The db.getCollection() object can access any collection methods.db.getCollection()对象可以访问任何集合方法

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().如果集合不存在,MongoDB将隐式创建它,作为诸如db.collection.insertOne()之类的写操作的一部分。

Example示例

The following example uses db.getCollection() to access the auth collection and insert a document into it.下面的示例使用db.getCollection()访问auth集合并将文档插入其中。

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(). 上一个示例要求使用db.getCollection("auth"),因为它与数据库方法db.auth()存在名称冲突。Calling db.auth directly to perform an insert operation would reference the db.auth() method and would error.直接调用db.auth来执行插入操作将引用db.auth()方法,并且会出错。

The following example attempts the same operation, but without using the db.getCollection() method:以下示例尝试相同的操作,但未使用db.getCollection()方法:

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.操作错误为db.auth()方法没有insertOne方法。

See also参阅

Collection Methods