Class DbUtils

java.lang.Object
org.restheart.mongodb.db.DbUtils

public class DbUtils extends Object
Author:
Andrea Di Cesare <andrea@softinstigate.com>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final com.mongodb.client.model.BulkWriteOptions
     
    static final int
     
    static final com.mongodb.client.model.FindOneAndUpdateOptions
     
    static final com.mongodb.client.model.FindOneAndUpdateOptions
     
    static final com.mongodb.client.model.FindOneAndReplaceOptions
     
    static final com.mongodb.client.model.FindOneAndReplaceOptions
     
    static final com.mongodb.client.model.FindOneAndUpdateOptions
     
    static final com.mongodb.client.model.FindOneAndUpdateOptions
     
    static final org.slf4j.Logger
     
    static final com.mongodb.client.model.ReplaceOptions
     
    static final com.mongodb.client.model.UpdateOptions
     
    static final com.mongodb.client.model.UpdateOptions
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    bulkWriteDocuments(Optional<com.mongodb.client.ClientSession> cs, com.mongodb.client.MongoCollection<org.bson.BsonDocument> coll, org.bson.BsonArray documents, Optional<org.bson.BsonDocument> filter, Optional<org.bson.BsonDocument> shardKeys, ExchangeKeys.WRITE_MODE writeMode)
     
    static boolean
    restoreDocument(Optional<com.mongodb.client.ClientSession> cs, com.mongodb.client.MongoCollection<org.bson.BsonDocument> coll, org.bson.BsonValue documentId, Optional<org.bson.BsonDocument> shardKeys, org.bson.BsonDocument data, Object etag, String etagLocation)
     
    writeDocument(Optional<com.mongodb.client.ClientSession> cs, ExchangeKeys.METHOD method, ExchangeKeys.WRITE_MODE writeMode, com.mongodb.client.MongoCollection<org.bson.BsonDocument> coll, Optional<org.bson.BsonValue> documentId, Optional<org.bson.BsonDocument> filter, Optional<org.bson.BsonDocument> shardKeys, org.bson.BsonValue data)
    Writes a mongo document The MongoDB write operation depends on the request method and on the write mode as follows: -------------------------------------------------------------------------------------------- | wm | method | URI | write operation | wrop argument | -------------------------------------------------------------------------------------------- | insert | POST | /coll | insertOne | document | | insert | PUT | /coll/docid | insertOne | document | | insert | PATCH | /coll/docid | findOneAndUpdate(upsert:true)(1)| update operator expr | -------------------------------------------------------------------------------------------- | update | POST | /coll | findOneAndReplace(upsert:false) | document | | update | PUT | /coll/docid | findOneAndReplace(upsert:false) | document | | update | PATCH | /coll/docid | findOneAndUpdate(upsert:false) | update operator expr | -------------------------------------------------------------------------------------------- | upsert | POST | /coll | findOneAndReplace(upsert:true) | document | | upsert | PUT | /coll/docid | findOneAndReplace(upsert:true) | document | | upsert | PATCH | /coll/docid | findOneAndUpdate(upsert:true) | update operator expr | -------------------------------------------------------------------------------------------- (1) uses a find condition that won't match any existing document, making sure the operation is an insert

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • LOGGER

      public static final org.slf4j.Logger LOGGER
    • DUPLICATE_KEY_ERROR

      public static final int DUPLICATE_KEY_ERROR
      See Also:
    • BAD_VALUE_KEY_ERROR

      public static final int BAD_VALUE_KEY_ERROR
      See Also:
    • FAU_UPSERT_OPS

      public static final com.mongodb.client.model.FindOneAndUpdateOptions FAU_UPSERT_OPS
    • FAU_NOT_UPSERT_OPS

      public static final com.mongodb.client.model.FindOneAndUpdateOptions FAU_NOT_UPSERT_OPS
    • FOU_AFTER_UPSERT_OPS

      public static final com.mongodb.client.model.FindOneAndUpdateOptions FOU_AFTER_UPSERT_OPS
    • FOR_AFTER_UPSERT_OPS

      public static final com.mongodb.client.model.FindOneAndReplaceOptions FOR_AFTER_UPSERT_OPS
    • FOU_AFTER_NOT_UPSERT_OPS

      public static final com.mongodb.client.model.FindOneAndUpdateOptions FOU_AFTER_NOT_UPSERT_OPS
    • FOR_AFTER_NOT_UPSERT_OPS

      public static final com.mongodb.client.model.FindOneAndReplaceOptions FOR_AFTER_NOT_UPSERT_OPS
    • U_UPSERT_OPS

      public static final com.mongodb.client.model.UpdateOptions U_UPSERT_OPS
    • U_NOT_UPSERT_OPS

      public static final com.mongodb.client.model.UpdateOptions U_NOT_UPSERT_OPS
    • R_NOT_UPSERT_OPS

      public static final com.mongodb.client.model.ReplaceOptions R_NOT_UPSERT_OPS
    • BWO_NOT_ORDERED

      public static final com.mongodb.client.model.BulkWriteOptions BWO_NOT_ORDERED
  • Constructor Details

    • DbUtils

      public DbUtils()
  • Method Details

    • writeDocument

      public static OperationResult writeDocument(Optional<com.mongodb.client.ClientSession> cs, ExchangeKeys.METHOD method, ExchangeKeys.WRITE_MODE writeMode, com.mongodb.client.MongoCollection<org.bson.BsonDocument> coll, Optional<org.bson.BsonValue> documentId, Optional<org.bson.BsonDocument> filter, Optional<org.bson.BsonDocument> shardKeys, org.bson.BsonValue data)
      Writes a mongo document The MongoDB write operation depends on the request method and on the write mode as follows: -------------------------------------------------------------------------------------------- | wm | method | URI | write operation | wrop argument | -------------------------------------------------------------------------------------------- | insert | POST | /coll | insertOne | document | | insert | PUT | /coll/docid | insertOne | document | | insert | PATCH | /coll/docid | findOneAndUpdate(upsert:true)(1)| update operator expr | -------------------------------------------------------------------------------------------- | update | POST | /coll | findOneAndReplace(upsert:false) | document | | update | PUT | /coll/docid | findOneAndReplace(upsert:false) | document | | update | PATCH | /coll/docid | findOneAndUpdate(upsert:false) | update operator expr | -------------------------------------------------------------------------------------------- | upsert | POST | /coll | findOneAndReplace(upsert:true) | document | | upsert | PUT | /coll/docid | findOneAndReplace(upsert:true) | document | | upsert | PATCH | /coll/docid | findOneAndUpdate(upsert:true) | update operator expr | -------------------------------------------------------------------------------------------- (1) uses a find condition that won't match any existing document, making sure the operation is an insert
      Parameters:
      cs - the client session
      method - the request method
      writeMode - the write mode
      coll - the collection
      documentId - use Optional.empty() to specify no documentId
      filter -
      shardKeys -
      data -
      Returns:
      the OperationResult
    • restoreDocument

      public static boolean restoreDocument(Optional<com.mongodb.client.ClientSession> cs, com.mongodb.client.MongoCollection<org.bson.BsonDocument> coll, org.bson.BsonValue documentId, Optional<org.bson.BsonDocument> shardKeys, org.bson.BsonDocument data, Object etag, String etagLocation)
      Parameters:
      cs - the client session
      coll -
      documentId -
      shardKeys -
      data -
      etag -
      etagLocation -
      Returns:
    • bulkWriteDocuments

      public static BulkOperationResult bulkWriteDocuments(Optional<com.mongodb.client.ClientSession> cs, com.mongodb.client.MongoCollection<org.bson.BsonDocument> coll, org.bson.BsonArray documents, Optional<org.bson.BsonDocument> filter, Optional<org.bson.BsonDocument> shardKeys, ExchangeKeys.WRITE_MODE writeMode)
      Parameters:
      cs - the client session
      coll -
      documents -
      filter -
      shardKeys -
      writeMode -
      Returns: