trait MongoUtils extends AnyRef
- Alphabetic
- By Inheritance
- MongoUtils
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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( ... ) @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: Any): Boolean
- Definition Classes
- AnyRef → Any
- def existsCollection[A](mongoComponent: MongoComponent, collection: MongoCollection[A])(implicit ec: ExecutionContext): Future[Boolean]
-
final
def
getClass(): Class[_]
- 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()
-
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( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- 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
-
def
retryOnDuplicateKey[A](retries: Int = 3)(f: ⇒ Future[A])(implicit ec: ExecutionContext): Future[A]
Prior to Mongo 5.0 it was possible 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.
Prior to Mongo 5.0 it was possible 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.
- Annotations
- @deprecated
- Deprecated
(Since version DuplicateKey is no longer generated with concurrent Upserts since Mongo 5.0) 1.4.0