如何extend/modifynodejs中的对象api?
How to extend/modify the object in nodejs api?
我正在使用 angular-fullstack yeoman 生成器。为产品创建了一个架构,以及一组 api crud 操作。一切正常。现在在获取列表操作中,我不想接收所有字段,只接收一个子集。就像 sql 中的 select。我也想改变一个值。我需要价格 * 1.1 而不是价格。
怎么做?
这是索引方法的代码(returns 产品列表):
// Gets a list of Products
export function index(req, res) {
Product.findAsync()
.then(respondWithResult(res))
.catch(handleError(res));
}
function respondWithResult(res, statusCode) {
statusCode = statusCode || 200;
return function(entity) {
if (entity) {
res.status(statusCode).json(entity);
}
};
}
如 documentation 所述,.find()
有两个参数,query 和 projection。
// params
Product.findAsync(query, projection)
您可以对 "select" 字段子集使用投影;
// example
Product.findAsync({}, { _id: 1, name: 1, description: 1 })
// result, only the three specified field will be returned
[
{ _id: 'abc123', name: 'Some name', description: 'Some description'},
{...}
]
如果你想操作数据,我认为你必须使用 aggregation pipeline
我正在使用 angular-fullstack yeoman 生成器。为产品创建了一个架构,以及一组 api crud 操作。一切正常。现在在获取列表操作中,我不想接收所有字段,只接收一个子集。就像 sql 中的 select。我也想改变一个值。我需要价格 * 1.1 而不是价格。 怎么做? 这是索引方法的代码(returns 产品列表):
// Gets a list of Products
export function index(req, res) {
Product.findAsync()
.then(respondWithResult(res))
.catch(handleError(res));
}
function respondWithResult(res, statusCode) {
statusCode = statusCode || 200;
return function(entity) {
if (entity) {
res.status(statusCode).json(entity);
}
};
}
如 documentation 所述,.find()
有两个参数,query 和 projection。
// params
Product.findAsync(query, projection)
您可以对 "select" 字段子集使用投影;
// example
Product.findAsync({}, { _id: 1, name: 1, description: 1 })
// result, only the three specified field will be returned
[
{ _id: 'abc123', name: 'Some name', description: 'Some description'},
{...}
]
如果你想操作数据,我认为你必须使用 aggregation pipeline