Package org.restheart.mongodb.db
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 Summary
Fields Modifier and Type Field Description static intBAD_VALUE_KEY_ERRORstatic com.mongodb.client.model.BulkWriteOptionsBWO_NOT_ORDEREDstatic intDUPLICATE_KEY_ERRORstatic com.mongodb.client.model.FindOneAndUpdateOptionsFAU_NOT_UPSERT_OPSstatic com.mongodb.client.model.FindOneAndUpdateOptionsFAU_UPSERT_OPSstatic com.mongodb.client.model.FindOneAndReplaceOptionsFOR_AFTER_NOT_UPSERT_OPSstatic com.mongodb.client.model.FindOneAndReplaceOptionsFOR_AFTER_UPSERT_OPSstatic com.mongodb.client.model.FindOneAndUpdateOptionsFOU_AFTER_NOT_UPSERT_OPSstatic com.mongodb.client.model.FindOneAndUpdateOptionsFOU_AFTER_UPSERT_OPSstatic org.slf4j.LoggerLOGGERstatic com.mongodb.client.model.ReplaceOptionsR_NOT_UPSERT_OPSstatic com.mongodb.client.model.UpdateOptionsU_NOT_UPSERT_OPSstatic com.mongodb.client.model.UpdateOptionsU_UPSERT_OPS
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static BulkOperationResultbulkUpsertDocuments(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 booleanrestoreDocument(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 OperationResultupdateDocument(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 OperationResultupdateDocument(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 contextstatic OperationResultupdateMetadata(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
-
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 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 sessioncoll-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 sessioncoll-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 sessioncoll-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 sessioncoll-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 sessioncoll-documents-filter-shardKeys-- Returns:
-
-