Atualizar
Há uma redação melhor se isso for confundir as pessoas; consulte a localização de documentos e como as consultas funcionam no manual do mangusto. Se você deseja usar a API fluente, pode obter um objeto de consulta não fornecendo um retorno de chamada para o find()método; caso contrário, você pode especificar os parâmetros, conforme descrito abaixo.
Original
Dado um modelobjeto, de acordo com os documentos do Model , é assim que ele pode funcionar 2.4.1:
Post.find({search-spec}, [return field array], {options}, callback)
O search specespera um objeto, mas você pode passar nullou um objeto vazio.
O segundo parâmetro é a lista de campos como uma matriz de seqüências de caracteres, então você forneceria ['field','field2']ou null.
O terceiro parâmetro são as opções como objeto, que incluem a capacidade de classificar o conjunto de resultados. Você usaria { sort: { field: direction } }where fieldé a string fieldname test(no seu caso) e directioné um número em que 1está subindo e -1descendo.
O parâmetro final ( callback) é a função de retorno de chamada que recebe a coleção de documentos retornados pela consulta.
A Model.find()implementação (nesta versão) faz uma alocação deslizante de propriedades para lidar com parâmetros opcionais (que é o que me confundiu!):
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);
};
HTH