Package org.restheart.mongodb.db
Class DbUtils
java.lang.Object
org.restheart.mongodb.db.DbUtils
- Author:
- Andrea Di Cesare <andrea@softinstigate.com>
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final com.mongodb.client.model.BulkWriteOptionsstatic final intstatic final com.mongodb.client.model.FindOneAndUpdateOptionsstatic final com.mongodb.client.model.FindOneAndUpdateOptionsstatic final com.mongodb.client.model.FindOneAndReplaceOptionsstatic final com.mongodb.client.model.FindOneAndReplaceOptionsstatic final com.mongodb.client.model.FindOneAndUpdateOptionsstatic final com.mongodb.client.model.FindOneAndUpdateOptionsstatic final org.slf4j.Loggerstatic final com.mongodb.client.model.ReplaceOptionsstatic final com.mongodb.client.model.UpdateOptionsstatic final com.mongodb.client.model.UpdateOptions -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic BulkOperationResultbulkWriteDocuments(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 booleanrestoreDocument(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) static OperationResultwriteDocument(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
-
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 sessionmethod- the request methodwriteMode- the write modecoll- the collectiondocumentId- use Optional.empty() to specify no documentIdfilter-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 sessioncoll-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 sessioncoll-documents-filter-shardKeys-writeMode-- Returns:
-