Class MongoDBQueryAction
java.lang.Object
com.kingsrook.qqq.backend.module.mongodb.actions.AbstractMongoDBAction
com.kingsrook.qqq.backend.module.mongodb.actions.MongoDBQueryAction
- All Implemented Interfaces:
BaseQueryInterface,QueryInterface
Execute a Query action against a MongoDB backend.
Note that this a collection.aggregate() even if it could maybe do
a collection.find(), to keep the code paths simpler in here, and to
support FieldFunctions (which require aggregate). The performance
difference is hopefully not so bad, but this could potentially be a future
optimization if it was found to be worthwhile.
-
Field Summary
Fields inherited from class com.kingsrook.qqq.backend.module.mongodb.actions.AbstractMongoDBAction
queryStat -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionexecute(QueryInput queryInput) executeForDml(QueryInput queryInput) Reject native identities that cannot safely select a later MongoDB write.Discover relationship membership without changing the caller's read visibility.Display locks and unrelated computed fields cannot hide stored key conflicts.Stored relationship values are independent of display locks and computations.Methods inherited from class com.kingsrook.qqq.backend.module.mongodb.actions.AbstractMongoDBAction
buildAddFieldsDocument, documentToRecord, getBackendTableName, getFieldBackendName, getFieldReference, getPageSize, getQueryStat, logQuery, makeFilterPipeline, makeFilterPipeline, makeSearchQueryDocument, openClient, recordToDocument, requireFieldFunctionAdapter, setQueryInQueryStat, setQueryStatMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.kingsrook.qqq.backend.core.actions.interfaces.BaseQueryInterface
cancelAction, getQueryStat, setQueryStat, setQueryStatFirstResultTime
-
Constructor Details
-
MongoDBQueryAction
public MongoDBQueryAction()
-
-
Method Details
-
lookupUniqueKey
Display locks and unrelated computed fields cannot hide stored key conflicts.- Specified by:
lookupUniqueKeyin interfaceQueryInterface- Throws:
QException
-
readAssociationValues
public List<QRecord> readAssociationValues(AssociatedRecordDiscovery.StoredValuesInput input) throws QException Stored relationship values are independent of display locks and computations.- Specified by:
readAssociationValuesin interfaceQueryInterface- Throws:
QException
-
findAssociatedPrimaryKeys
public List<Serializable> findAssociatedPrimaryKeys(AssociatedRecordDiscovery.Input input) throws QException Discover relationship membership without changing the caller's read visibility.- Specified by:
findAssociatedPrimaryKeysin interfaceQueryInterface- Throws:
QException
-
execute
- Specified by:
executein interfaceQueryInterface- Throws:
QException
-
executeForDml
Reject native identities that cannot safely select a later MongoDB write.- Specified by:
executeForDmlin interfaceQueryInterface- Throws:
QException
-