Selecting rows from a pipe delimited file based on condition

HI all,
I have a simple challenge for you.. I have the following pipe delimited file

2345|98|1809||x|969|0
2345|98|0809||y|0|537
2345|97|9809||x|544|0
2345|97|0909||y|0|651
9685|98|7809||x|321|0
9685|98|7909||y|0|357
9685|98|7809||x|687|0
9685|98|0809||y|0|234
2315|98|0809||x|564|0

I need only the rows which have the 3rd column less than 900. As shown below.

2345|98|0809||y|0|537
9685|98|0809||y|0|234
2315|98|0809||x|564|0
awk -F\| '$3 < 900' infile

just a try .. (not 100%)

$ grep "..|0[0-8]..||" infile
2345|98|0809||y|0|537
9685|98|0809||y|0|234
2315|98|0809||x|564|0