Вы хотели сделать var a = db.server.find().sort({_id:-1}).limit(1)
?(server
а не patches
)
В любом случае, find возвращает курсор .Работа курсоров заключается в том, что когда вы вызываете его, он печатает текущий документ, на который он указывает, и перемещается к следующему, поэтому вам нужно выполнить итерацию, вызывая cursor.next()
.
Когда вы делаете
var a = db.patches.find().sort({_id:-1}).limit(1)
a
Вы печатаете курсор, и теперь a.hasNext()
равно false
.
То, что вы хотите сделать, это:
var a = db.patches.find().sort({_id:-1}).limit(1)
print(a.next().name)
или
var a = db.patches.find().sort({_id:-1}).limit(1)
print(a.next()['name'])
.
Любое из перечисленного напечатает n/a
.