Есть ли способ сделать что-то вроде:

var first_user = User.find({ _id: user_id }).first();

using the mongoose ORM? http://github.com/LearnBoost/mongoose

What I’m trying to do is to store the returned result of the query for later use.

When I use the above, all I get returned into the var first_user is the QueryWriter object.

Предоставлено задание: Книжный червь

Решение

Вы можете получить доступ к результатам запроса мангуста через переданный обратный вызов. Вы обнаружите, что mongoose, как и большинство модулей node.js, широко использует асинхронные обратные вызовы. Mongoose также предоставляет хороший метод для возврата объекта по его идентификатору, и если вы хотите использовать этот результат вне области обратного вызова, вы можете сделать это следующим образом:

var first_user;
User.findById(user_id, function(user){
  first_user = user;
});

Для других вызовов API мангуста я рекомендую просмотреть тесты мангуста для хорошей справки. Проверьте http://github.com/LearnBoost/mongoose/blob/master/tests/integration/model.test.js

Решение предоставлено: bxjx

Посмотреть дополнительное обсуждение.