trait MongoUtils extends AnyRef
- Alphabetic
- By Inheritance
- MongoUtils
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def ensureIndexes[A](collection: MongoCollection[A], indexes: Seq[IndexModel], replaceIndexes: Boolean)(implicit ec: ExecutionContext): Future[Seq[String]]
- def ensureSchema[A](mongoComponent: MongoComponent, collection: MongoCollection[A], optSchema: Option[BsonDocument])(implicit ec: ExecutionContext): Future[Unit]
Create the schema if defined, or remove if not defined.
Create the schema if defined, or remove if not defined. Note, the collection will be created if it does not exist yet.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def existsCollection[A](mongoComponent: MongoComponent, collection: MongoCollection[A])(implicit ec: ExecutionContext): Future[Boolean]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def retryOnDuplicateKey[A](retries: Int = 3)(f: => Future[A])(implicit ec: ExecutionContext): Future[A]
It is possible with MongoDB to have a duplicate key violation when trying to upsert, if two or more threads try the operation concurrently: https://jira.mongodb.org/browse/SERVER-14322 See https://jira.tools.tax.service.gov.uk/browse/BDOG-731 for more background.
It is possible with MongoDB to have a duplicate key violation when trying to upsert, if two or more threads try the operation concurrently: https://jira.mongodb.org/browse/SERVER-14322 See https://jira.tools.tax.service.gov.uk/browse/BDOG-731 for more background.
You can wrap the upsert with retryOnDuplicateKey.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- object DuplicateKey
- object IndexConflict
- object IndexNotFound
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated