Обновление
Лучше написать, если это сбивает с толку людей; посмотрите поиск документов и как работают запросы в руководстве mongoose. Если вы хотите использовать свободный API, вы можете получить объект запроса, не предоставляя обратный вызов для метода find()
, в противном случае вы можете указать параметры, как я обрисую ниже.
Оригинал
С учетом объекта model
, согласно документам для модели , он может работать для 2.4.1
:
Post.find({search-spec}, [return field array], {options}, callback)
search spec
ожидает объект, но вы можете передать null
или пустой объект.
Второй параметр - это список полей в виде массива строк, поэтому вы должны указать ['field','field2']
или null
.
Третий параметр - это параметры объекта, которые включают возможность сортировки набора результатов. Вы должны использовать { sort: { field: direction } }
, где field
- это строковое имя поля test
(в вашем случае), а direction
- это число, в котором 1
является восходящим, а -1
- убывающим.
Последний параметр (callback
) - это функция обратного вызова, которая получает коллекцию документов, возвращаемых запросом.
Реализация Model.find()
(в этой версии) выполняет скользящее распределение свойств для обработки необязательных параметров (что меня смутило!):
Model.find = function find (conditions, fields, options, callback) {
if ('function' == typeof conditions) {
callback = conditions;
conditions = {};
fields = null;
options = null;
} else if ('function' == typeof fields) {
callback = fields;
fields = null;
options = null;
} else if ('function' == typeof options) {
callback = options;
options = null;
}
var query = new Query(conditions, options).select(fields).bind(this, 'find');
if ('undefined' === typeof callback)
return query;
this._applyNamedScope(query);
return query.find(callback);
};
НТН