gpt4 book ai didi

angularjs - 是否可以使用带有表单搜索查询输入文本的 Angular Controller 通过 Mongoose 在 MongoDB 中进行实时搜索?

转载 作者:太空宇宙 更新时间:2023-11-04 02:14:00 25 4
gpt4 key购买 nike

首先我对我的英语感到抱歉......还有一个可能是愚蠢的问题,但我对 Angular、Node、Express 和 mongoDB 一起编程很陌生......

我的问题是是否可以在数据库中进行实时搜索之类的操作。我正在客户端编写搜索查询( Angular + HTML),来自 mongoDB 的匹配结果将显示在页面上的某个位置(带有相似单词的数量)。我需要在 Angular 和 MongoDB 中使用 Node 和 Express 进行路由

示例情况:在浏览器中,我将写一些单词等。cook,并且在我的数据库中保存了诸如(cook,cooker,cooking)之类的数据......我想显示的结果是整行带有Cook的表以及单词中与cook相似的单词的数量,所以3是答案......

我想知道我必须学习什么,并用于它

我认为 HTML 看起来像这样? ..:

<form method="post" ng-submit="find()" name="findForm">

<div class="form-group">
<input class="form-control input-lg" type="text" name="word"
ng-model="word" placeholder="search from Mongo" >
</div>

<button type="submit" class="btn btn-lg btn-block btn-success">search
</button>

但我不知道接下来会发生什么...一些带有 http post 方法的 Controller 或者什么..? ..

angular.module('MyApp')
.controller('SearchCtrl', ['$scope', '$http', function($scope, $http) {
$http.post('/api/search', $scope.word)
$scope.search= function() {
({
-----??
});
};
}]);

是吗? ...应该有效吗..? ..最后一个函数应该位于 server.js 文件中,我必须在其中实现在数据库中查找单词的函数..不是吗?

app.post('/api/search', function(req, res) {
Word.find(........)
// here I dont know how ..

});

如果有人给我一些如何度过这个难关的建议,我将非常感激......谢谢......

如果我没有太清楚地解释我的问题,我很抱歉..如果您还有其他问题我在寻找什么..请询问..

谢谢..

最佳答案

是的,可以进行实时搜索。您可以使用 RegExp 进行部分搜索。可以尝试这个过程。

您在 dom 中使用了 ng-submit="find()",因此您需要在 Controller 中使用 find 函数,并从此函数调用 api:

$scope.find = function() {
$http.post('/api/search', $scope.word).then(function(response) {
$scope.words = response.data;
//your code
});
};

在服务器端

app.post('/api/search', function(req, res) {
var query = {};
//generetae query for partial search
query.word = new RegExp(req.body.word, 'i');// assume word is field name for query.word

Word.find(query, function(error, words){
if(error) {
return res.status(400).send({msg:"error occurred"});
}
return res.status(200).send(words);
});
});

注意:如果显示查询数据没有问题,最好使用 get 动词进行搜索

关于angularjs - 是否可以使用带有表单搜索查询输入文本的 Angular Controller 通过 Mongoose 在 MongoDB 中进行实时搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36605640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com