我正在使用FeathersJS和ReactJ来构建一个应用程序,现在我被困在了某个点上。
我正在处理的用户界面是一个表,我有一个导航条来控制显示的数据,就像在图像中一样。

在select中,用户可以选择要在页面中看到多少结果。导航按钮在不同的页面之间移动。每次有一件事变了我就算了
let skip = (this.state.page - 1) * this.state.limit;
let url = '/users?$sort[name]=1&$skip=' + skip + '&$limit=' + this.state.limit;然后给羽毛后端打个电话休息一下。这件事做得很好。
红色箭头表示我的问题。
当用户在此输入字段中键入名称的一部分时,我需要搜索user表,以查找名称中带有键入字符串的所有用户,无论位置如何,最好是不区分大小写。在这种情况下,我创建了一个url,如
let url = '/users?name=<typed input'>;然后再打其他电话。
碰巧,这个调用将试图找到一个与之相等的名称,这不是我所需要的。然后,假设我必须自定义find()方法,以便在接收两组不同的参数时以不同的方式执行,如
users.class.js
const { Service } = require('feathers-sequelize');
exports.Users = class Users extends Service {
find(data,params) {
if (data.query.name) {
// Do something to get the search I need
}
return super.find(data,params);
}
};但我真的不知道从这一点开始。
我应该在这个if中实现一个后缀原始查询吗?获得我需要的数据的最好方法是什么?
发布于 2019-11-15 07:27:05
这实际上不是一个羽毛问题,甚至不是一个后缀问题,而是一个数据库函数。这取决于你的数据库是什么!对于MySQL,可以使用LIKE命令搜索子字符串。谷歌如何使它不区分大小写,如果需要。对于后缀查询,我相信这样的查询会奏效:
query = {
name: { $like: '%searchterm%'}
}https://stackoverflow.com/questions/58602396
复制相似问题