Package org.restheart.mongodb.db
Class DAOUtils
java.lang.Object
org.restheart.mongodb.db.DAOUtils
- Author:
- Andrea Di Cesare <andrea@softinstigate.com>, Nath Papadacis <nath@thirststudios.co.uk>
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic intstatic com.mongodb.client.model.BulkWriteOptionsstatic intstatic com.mongodb.client.model.FindOneAndUpdateOptionsstatic com.mongodb.client.model.FindOneAndUpdateOptionsstatic com.mongodb.client.model.FindOneAndReplaceOptionsstatic com.mongodb.client.model.FindOneAndReplaceOptionsstatic com.mongodb.client.model.FindOneAndUpdateOptionsstatic com.mongodb.client.model.FindOneAndUpdateOptionsstatic org.slf4j.Loggerstatic com.mongodb.client.model.ReplaceOptionsstatic com.mongodb.client.model.UpdateOptionsstatic com.mongodb.client.model.UpdateOptions -
Method Summary
Modifier and TypeMethodDescriptionstatic BulkOperationResultbulkWriteDocuments(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)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 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)static OperationResultwriteDocument(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 documentstatic OperationResultwriteDocument(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)
-
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 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
-
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 sessioncoll-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 sessioncoll-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 sessioncoll-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 sessioncoll-documents-filter-shardKeys-writeMode-- Returns:
-