【发布时间】:2017-08-22 06:52:55
【问题描述】:
我正在查询我的数据库中的所有数据,并使用以下代码对其进行搜索。
问题在于它不查询完全匹配,而是关键字搜索。
如果我输入“dog colorado”,它会返回包含“dog”和“colorado”这两个词的所有结果。
我希望它返回“dog colorado”的结果。
我正在使用Mongodb作为参考
$http.get('/sapi/search/contractors?query=' + $scope.data.query)
.then(function(res) {
console.log("response from query", res.data);
// if it gets all the data
if (res.data.users && res.data.users.length) {
$scope.items = _.filter(res.data.users, function(user) {
return user.roles && user.roles.indexOf('contractor') !== -1 && user.firstName;
});
} else {
console.log('no items', res);
$scope.items = null;
}
【问题讨论】:
-
您需要后端服务方面的帮助吗?您需要提供该代码。
-
我认为过滤可以在前端@JoshuaJWilborn 上完成。我认为我的退货声明存在问题。我希望它的功能如下“返回与搜索完全匹配的数据”
-
但是如果您向后端提供搜索参数,为什么它会返回所有内容?或者您希望它返回匹配两个单词的所有内容,然后将其过滤到前面的完全匹配?我觉得你的问题不够准确。
-
很公平@JoshuaJWilborn。我想一个更具体的问题是我如何在后端查询完全匹配?我可以显示什么代码以获得帮助
-
好的,用后端框架类型、相关路由和您正在与之交互的数据库类型修改您的问题。然后也添加您的具体问题。谢谢。
标签: jquery angularjs filter underscore.js