Class DAOUtils

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

public class DAOUtils extends Object
Author:
Andrea Di Cesare <andrea@softinstigate.com>, Nath Papadacis <nath@thirststudios.co.uk>
  • Field Details

    • LOGGER

      public static final org.slf4j.Logger LOGGER
    • DUPLICATE_KEY_ERROR

      public static final int DUPLICATE_KEY_ERROR
      See Also:
      Constant Field Values
    • BAD_VALUE_KEY_ERROR

      public static final int BAD_VALUE_KEY_ERROR
      See Also:
      Constant Field Values
    • 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
  • Method Details

    • updateMetadata

      public static OperationResult updateMetadata(com.mongodb.client.ClientSession cs, com.mongodb.client.MongoCollection<org.bson.BsonDocument> coll, Object documentId, org.bson.BsonDocument filter, org.bson.BsonDocument shardKeys, org.bson.BsonDocument data, boolean patching)
      Parameters:
      cs - the client session
      coll -
      documentId - use Optional.empty() to specify no documentId (null is _id: null)
      filter -
      shardKeys -
      data -
      patching - Whether we want to patch the metadata or replace it entirely.
      Returns:
      the old document
    • writeDocument

      public static OperationResult writeDocument(com.mongodb.client.ClientSession cs, com.mongodb.client.MongoCollection<org.bson.BsonDocument> coll, Object documentId, org.bson.BsonDocument filter, org.bson.BsonDocument shardKeys, org.bson.BsonDocument data, boolean replace, ExchangeKeys.WRITE_MODE writeMode)
      Parameters:
      cs - the client session
      coll -
      documentId - use Optional.empty() to specify no documentId (null is _id: null)
      filter -
      shardKeys -
      data -
      replace -
      upsert - whether or not to allow upsert mode
      Returns:
      the old document
    • writeDocument

      public static OperationResult writeDocument(com.mongodb.client.ClientSession cs, com.mongodb.client.MongoCollection<org.bson.BsonDocument> coll, Object documentId, org.bson.BsonDocument filter, org.bson.BsonDocument shardKeys, org.bson.BsonDocument data, boolean replace, boolean deepPatching, ExchangeKeys.WRITE_MODE writeMode)
      Update a mongo document
      Parameters:
      cs - the client session
      coll -
      documentId - use Optional.empty() to specify no documentId (null is _id: null)
      filter -
      shardKeys -
      data -
      replace -
      upsert - if true then we will flatten any nested BsonDocuments into dot notation to ensure only the requested fields are updated.
      allowUpsert - whether or not to allow upsert mode
      Returns:
      the new or old document depending on returnNew
    • restoreDocument

      public static boolean restoreDocument(com.mongodb.client.ClientSession cs, com.mongodb.client.MongoCollection<org.bson.BsonDocument> coll, Object documentId, 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(com.mongodb.client.ClientSession cs, com.mongodb.client.MongoCollection<org.bson.BsonDocument> coll, org.bson.BsonArray documents, org.bson.BsonDocument filter, org.bson.BsonDocument shardKeys, ExchangeKeys.WRITE_MODE writeMode)
      Parameters:
      cs - the client session
      coll -
      documents -
      filter -
      shardKeys -
      writeMode -
      Returns: