Given the following model data structure for a given document record:

{
  "trans": {
    "cust": {
      "firstname": "Bone",
      "lastname": "Klebes",
      "email": "[email protected]",
      "gender": "Male"
    },
    "ipaddress": "104.89.149.184",
    "date": "2017-12-01",
    "amount": 1217,
    "currency": "NOK"
  }
}

...modelled in Java by a Transaction class and a Customer class,

And the following code to perform a ScanQuery:

String date = "2017-12-01";
int amount = 1000;
String lastname = "Klebes";

IgniteCache<Integer, BinaryObject> cache =
database.getCache().withKeepBinary();
ScanQuery<Integer, BinaryObject> filter = new ScanQuery<>(
  new IgniteBiPredicate<Integer, BinaryObject>() {
    @Override
    public boolean apply(Integer key, BinaryObject trans)
    {
      if (!trans.<String>field("date").equals(date))
        return false;
      if (trans.<Integer>field("amount") <= amount)
        return false;
      *(???) if
(!trans.<String>field("customer.lastname").equals(lastname))*
        return false;
      return true;
    }
  }
);
List result = cache.query(filter).getAll();

What is the correct syntax for accessing the nested 'Customer.lastname'
field?



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to