MongoCollection

A collection stores related documents together.

Usually, all documents in a collection have the same shape (the same fields). However, heterogeneous structure can be achieved by using:

  • Kotlin collections, like List and Set, the embed an arbitrary number of items.

  • Polymorphism, for example with sealed class, to have different fields based on a discriminator.

To avoid name collisions, collections are grouped into databases.

To obtain a collection, see MongoDatabase.collection.

Size limit

A MongoDB document cannot exceed 16 MiB.

You can measure the size of a document with opensavvy.ktmongo.bson.BsonDocument.toByteArray followed by ByteArray.size.

Properties

Link copied to clipboard
abstract val database: MongoDatabase

The MongoDatabase that contains this collection.

Link copied to clipboard

The concatenation of the database's name and the collection's name.

Link copied to clipboard
abstract val name: String

THe name of this collection.

Link copied to clipboard
abstract val type: KType

The KType instance that corresponds to the collection's document type.

Functions

Link copied to clipboard
abstract suspend fun insertOne(document: Document, options: InsertOneOptions<Document>.() -> Unit = {})
Link copied to clipboard
open override fun newId(): ObjectId