我是猫鼬新手,所以有些事情我不太了解。
代码如下:
问题是
1我找不到两个参数here(就像find({})),为什么在这段代码中找到两个参数?
2什么"排序(排序+排序)"意思 ?我很困惑。
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);
});
答案 0 :(得分:2)
second argument to find
是结果对象的projection。也就是说,它是要在查询找到的每个结果对象中包含或排除的字段列表。 If you use field names prefaced by minus signs(-foo
),那么您表示您希望除之外的所有字段都列出了字段。因此,参数-email
表示,"在向我显示结果时,排除email
字段,但包括所有其他字段"。
The sort
function也可以使用带或不带减号的字段名称,指示结果是按降序还是按升序排序:
除非路径名以
-
作为前缀,否则每个路径的排序顺序都是升序的,将被视为降序。
order
变量是单字符字符串-
或空字符串,基于所需的排序方向。这前面是用于对结果进行排序的字段名称(即sort
变量)。