find()和sort()在Mongoose中的含义是什么?

我是mongoose新手,所以有些我不太明白。

代码如下:

问题是

1我找不到这里有两个参数(就像find({})),为什么在这个代码中find两个参数?

2“sorting(sorting+sorting)”是什么意思? 我很困惑。

var sort = req.query.sort || "created"; var order = (req.query.order === "asc" ? "-" : ""); var limit = req.query.limit || "20"; var offset = req.query.offset || "0"; Opportunities.find(filterObject, '-email') .sort(order + sort) .skip(offset) .limit(limit) .populate('tags') .populate('location') .exec(function (err, opportunities) { if (err) return handleError(res, err); return res.json(200, opportunities); }); 

find的第二个参数是结果对象的投影 。 也就是说,它是您希望包含或排除在查询find的每个结果对象中的字段的列表。 如果您使用以减号 ( -foo ) 开头的字段名称 ,则表示您希望列出的字段以外的所有字段。 因此,参数-email意思是“向我展示结果时排除email字段,但包含所有其他字段”。

sort函数还可以使用带或不带减号的字段名称,指示结果是按降序还是升序sorting:

每个path的sorting顺序是升序的,除非path名前面加上-将被视为降序。

ordervariables可以是一个字符的string-也可以是空string,它基于所需的sorting方向。 这被前置到用于sorting结果的字段名称(即sortvariables)。