Class DAOUtils


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

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static BulkOperationResult bulkUpsertDocuments​(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)  
      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)  
      static OperationResult updateDocument​(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)  
      static OperationResult updateDocument​(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, boolean allowUpsert)
      Update a mongo document
      TODO - Think about changing the numerous arguments into a context
      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)  
    • Field Detail

      • LOGGER

        public static final org.slf4j.Logger LOGGER
      • 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 Detail

      • 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
      • updateDocument

        public static OperationResult updateDocument​(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)
        Parameters:
        cs - the client session
        coll -
        documentId - use Optional.empty() to specify no documentId (null is _id: null)
        filter -
        shardKeys -
        data -
        replace -
        Returns:
        the old document
      • updateDocument

        public static OperationResult updateDocument​(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,
                                                     boolean allowUpsert)
        Update a mongo document
        TODO - Think about changing the numerous arguments into a context
        Parameters:
        cs - the client session
        coll -
        documentId - use Optional.empty() to specify no documentId (null is _id: null)
        filter -
        shardKeys -
        data -
        replace -
        deepPatching - 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:
      • bulkUpsertDocuments

        public static BulkOperationResult bulkUpsertDocuments​(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)
        Parameters:
        cs - the client session
        coll -
        documents -
        filter -
        shardKeys -
        Returns: