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/