我有一个非常基本的羽毛服务,该服务使用feathers-mongoose软件包将数据存储在mongoose中。问题在于获取功能。我的模型如下:
module.exports = function (app) {
const mongooseClient = app.get('mongooseClient');
const { Schema } = mongooseClient;
const messages = new Schema({
message: { type: String, required: true }
}, {
timestamps: true
});
return mongooseClient.model('messages', messages);
};
当用户运行GET命令时:
curl http://localhost:3030/messages/test
我有以下要求
谢谢
答案 0 :(得分:1)
在羽毛before hook中,您可以设置context.result,在这种情况下,原始数据库调用将被跳过。所以流程是
get
前的钩子中,尝试按名称查找消息context.result
设置为找到的内容get
外观如下:
async context => {
const messages = context.service.find({
...context.params,
query: {
$limit: 1,
name: context.id
}
});
if (messages.total > 0) {
context.result = messages.data[0];
}
return context;
}
Errors API中介绍了如何创建自定义错误和设置错误代码。