Firebase数据库检查它是否为空值,不适用于DataSnapshot

so I have a database where I search for products by barcodes. enter image description here

我想检查一下产品是否在我的数据库中

mFirebaseInstance = FirebaseDatabase.getInstance();
mFirebaseDatabase = mFirebaseInstance.getReference("ProductData");
productId = mFirebaseDatabase.push().getKey();

public void searchProduct(String barcode){

    Query barcodeQuery = mFirebaseDatabase.child("Products")
            .orderByChild("barcode").equalTo(barcode);

    ValueEventListener valueEventListener = new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            for(DataSnapshot ds : dataSnapshot.getChildren()) {

                    String name = ds.child("name").getValue(String.class);
                    int price = ds.child("price").getValue(Integer.class);
                    int quantity = ds.child("quantity").getValue(Integer.class);
                    Log.d("DATABASE", name + "/" + price + "/" + quantity);  /// The output that I get is this: Neopraxam/25/1    and  Vazelina/250/1

这就是我通过条形码搜索产品的方式。

searchProduct("123123123");

searchProduct("3232");

我尝试添加以下方法来检查我尝试获取的值是否为null:

if (ds.exists()){}  OR
if (ds.getChildrenCount() != 0){}

但是我已经看到,如果该值不存在,它甚至不会进入循环。所以我假设它来自查询。 因此,如何检查查询是否返回空值,因为我使用了.equalTo(barcode)方法,因此我想它应该返回true或false值