The easiest way to deal with this is probably by adding in the element you want back with a union
.
r.table('users').filter({"mail": mail}).limit(1).union([{}])[0]
A slightly ugly work around but it should do the trick. I think we should probably extend the default
syntax to work with this. I'm going to make an issue for that.