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名前面加上
-
将被视为降序。
order
variables可以是一个字符的string-
也可以是空string,它基于所需的sorting方向。 这被前置到用于sorting结果的字段名称(即sort
variables)。