Puoi usare il $type
operatore con $not
nella tua query per escludere i documenti con age
è una stringa. Nella shell la tua query sarebbe simile a:
db.test.find({age: {$not: {$type: 2}}}).sort({age: -1}).limit(1)
Oppure in PHP da Martti:
$cursor = $collection->find(array('age' => array('$not' => array('$type' => 2))), array('age' => 1));
$cursor->sort(array('price' => -1))->limit(1);