Categories: Java

Google Datastore Query Get By ID & Filter – Code Example

Following are code samples on Google App Engine Datastore Query and how to get entities by id and based on filters.

Get Entity By Id

Pay attention to the code “datastore.get(KeyFactory.createKey( “savedreport”, reportId). “savedreport” is the name of entity.

DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();  
 Entity entity = null;
 try {
  entity = datastore.get(KeyFactory.createKey("savedreport", reportId));
 } catch(EntityNotFoundException e) {
  e.printStackTrace();
 }

 

Get Entity By One Filter

Pay attention to “setFilter” method

Filter createdByFilter = new FilterPredicate("created_by", FilterOperator.EQUAL, userId );
Query query = new Query("sqm").setFilter( createdByFilter );    

DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
List entities = datastore.prepare(query).asList( FetchOptions.Builder.withLimit( count ) );

 

Get Entity By Multiple Filter

Pay attention to usage of multiple FilterPredicate methods and CompositeFilterOperator and setFilter method called on Query.

Filter dateMinFilter = new FilterPredicate("sprint_enddate", FilterOperator.GREATER_THAN_OR_EQUAL, beginDate );
Filter dateMaxFilter = new FilterPredicate("sprint_enddate", FilterOperator.LESS_THAN_OR_EQUAL, endDate );  
Filter nameFilter = new FilterPredicate("project_id", FilterOperator.EQUAL, projectId );  
Filter createdByFilter = new FilterPredicate("created_by", FilterOperator.EQUAL, createdBy );
Filter rangeFilter = CompositeFilterOperator.and( nameFilter, createdByFilter, dateMinFilter, dateMaxFilter );
Query query = new Query("sqm").setFilter( rangeFilter );    

DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
List entities = datastore.prepare(query).asList( FetchOptions.Builder.withLimit( count ) );
Ajitesh Kumar

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. For latest updates and blogs, follow us on Twitter. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking. Check out my other blog, Revive-n-Thrive.com

Recent Posts

Logistic Regression in Machine Learning: Python Example

Last updated: 26th April, 2024 In this blog post, we will discuss the logistic regression…

9 hours ago

MSE vs RMSE vs MAE vs MAPE vs R-Squared: When to Use?

Last updated: 22nd April, 2024 As data scientists, we navigate a sea of metrics to…

2 days ago

Gradient Descent in Machine Learning: Python Examples

Last updated: 22nd April, 2024 This post will teach you about the gradient descent algorithm…

5 days ago

Loss Function vs Cost Function vs Objective Function: Examples

Last updated: 19th April, 2024 Among the terminologies used in training machine learning models, the…

1 week ago

Model Parallelism vs Data Parallelism: Examples

Last updated: 19th April, 2024 Model parallelism and data parallelism are two strategies used to…

1 week ago

Model Complexity & Overfitting in Machine Learning: How to Reduce

Last updated: 4th April, 2024 In machine learning, model complexity, and overfitting are related in…

2 weeks ago