Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion firestore/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ dependencies {
implementation 'androidx.multidex:multidex:2.0.1'

// Firestore
implementation "com.google.firebase:firebase-firestore-ktx:24.3.1"
implementation "com.google.firebase:firebase-firestore-ktx:24.4.0"

// Firebase / Play Services
implementation "com.google.firebase:firebase-auth:21.0.8"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
import com.google.android.gms.tasks.Task;
import com.google.android.gms.tasks.Tasks;
import com.google.firebase.Timestamp;
import com.google.firebase.firestore.AggregateQuery;
import com.google.firebase.firestore.AggregateQuerySnapshot;
import com.google.firebase.firestore.AggregateSource;
import com.google.firebase.firestore.CollectionReference;
import com.google.firebase.firestore.DocumentChange;
import com.google.firebase.firestore.DocumentChange.Type;
Expand Down Expand Up @@ -1361,4 +1364,42 @@ public void onComplete(@NonNull Task<Void> task) {}
});
// [END update_delete_field]
}

public void countAggregateCollection() {
// [START count_aggregate_collection]
Query query = db.collection("cities");
AggregateQuery countQuery = query.count();
countQuery.get(AggregateSource.SERVER).addOnCompleteListener(new OnCompleteListener<AggregateQuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<AggregateQuerySnapshot> task) {
if (task.isSuccessful()) {
// Count fetched successfully
AggregateQuerySnapshot snapshot = task.getResult();
Log.d(TAG, "Count: " + snapshot.getCount());
} else {
Log.d(TAG, "Count failed: ", task.getException());
}
}
});
// [END count_aggregate_collection]
}

public void countAggregateQuery() {
// [START count_aggregate_query]
Query query = db.collection("cities").whereEqualTo("state", "CA");
AggregateQuery countQuery = query.count();
countQuery.get(AggregateSource.SERVER).addOnCompleteListener(new OnCompleteListener<AggregateQuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<AggregateQuerySnapshot> task) {
if (task.isSuccessful()) {
// Count fetched successfully
AggregateQuerySnapshot snapshot = task.getResult();
Log.d(TAG, "Count: " + snapshot.getCount());
} else {
Log.d(TAG, "Count failed: ", task.getException());
}
}
});
// [END count_aggregate_query]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import androidx.annotation.WorkerThread
import com.google.android.gms.tasks.Task
import com.google.android.gms.tasks.Tasks
import com.google.firebase.Timestamp
import com.google.firebase.firestore.AggregateSource
import com.google.firebase.firestore.CollectionReference
import com.google.firebase.firestore.DocumentChange
import com.google.firebase.firestore.DocumentSnapshot
Expand Down Expand Up @@ -1130,4 +1131,36 @@ abstract class DocSnippets(val db: FirebaseFirestore) {
docRef.update(updates).addOnCompleteListener { }
// [END update_delete_field]
}

fun countAggregateCollection() {
// [START count_aggregate_collection]
val query = db.collection("cities")
val countQuery = query.count()
countQuery.get(AggregateSource.SERVER).addOnCompleteListener { task ->
if (task.isSuccessful) {
// Count fetched successfully
val snapshot = task.result
Log.d(TAG, "Count: ${snapshot.count}")
} else {
Log.d(TAG, "Count failed: ", task.getException())
}
}
// [END count_aggregate_collection]
}

fun countAggregateQuery() {
// [START count_aggregate_query]
val query = db.collection("cities").whereEqualTo("state", "CA")
val countQuery = query.count()
countQuery.get(AggregateSource.SERVER).addOnCompleteListener { task ->
if (task.isSuccessful) {
// Count fetched successfully
val snapshot = task.result
Log.d(TAG, "Count: ${snapshot.count}")
} else {
Log.d(TAG, "Count failed: ", task.getException())
}
}
// [END count_aggregate_query]
}
}