如何在“;mongodb”;对于“;typeahead”;获取用户输入为val的调用

How to keyword search in "mongodb" for "typeahead" get call with user input as val?

本文关键字:输入 用户 调用 val 对于 mongodb typeahead 获取      更新时间:2023-09-26

这就是我想要实现的

我有一个输入字段,在用户输入时,将对mongodb表进行ajax调用,并为typeahead特性提取json结果。

一切都在工作,但当使用提取数据时,使用以下功能

   exports.index = function(req, res){
  Licmgt.find(function (err, licMgts) {
    if(err) { return handleError(res, err); }
    return res.json(200, licMgts);
  });
};

它会带来每个按下的关键词的所有数据,所以最终结果是,typeahead结果永远不会缩小到正确的字符串。

以下是html元素中的预编调用代码

      <input class="form-control" typeahead="sourceArray as sourceArray for sourceArray in getOneID($viewValue)" 
  ng-model="asyncSelected" type="text">
      <i ng-show="oneid" class="glyphicon glyphicon-refresh" ></i>

以及ajax调用函数下方

  $scope.getOneID = function(val){
    console.log("value is " + val);
    return $http.get('/api/licMgts/',{
      params: {
        OneID:val
      }
    }).then(function(res){
      var oneIDs =[];
      angular.forEach(res.data,function(item){
        oneIDs.push(item.OneID);
      });
      return oneIDs;
    });
  };

我想知道如何在mongo数据库中使用"like"选项进行查询,对于关键字搜索,我已经找到了一些答案,比如用$text进行文本搜索,比如下面的

db.collections.find({$text:{$search: /keyword/}})

这是正确的路吗?任何建议都将不胜感激。

没有办法将全文mongo搜索与类似的运算符一起使用。既然有一些黑客开发人员可以做。$text运算符可以搜索不属于单词的单词和短语。

"运行"可以是"运行"的结果(语言支持)当你搜索"blue"时,可以提取"Blueberry"。