【问题标题】:exclude _id field from ng-filter angularjs从 ng-filter angularjs 中排除 _id 字段
【发布时间】:2015-09-13 07:37:53
【问题描述】:

我正在使用 meanjs 构建应用程序。 我在表格上使用 ng-filter 来过滤我的数据。它工作正常,唯一的问题是我不想过滤集合的 _id 字段,因为默认情况下它会搜索所有字段,所以我想从过滤器中排除 _id 。有什么方法可以实现吗?

提前致谢。

【问题讨论】:

  • 您需要创建自定义过滤器。
  • 谢谢,但在自定义过滤器的情况下,我必须指定我想要搜索的所有字段,如帖子中所述:stackoverflow.com/questions/13216115/… 如果我不想指定我想要排除的字段怎么办仅 _id?
  • 您也可以不必手动指定字段,您可以使用循环遍历所有字段并仅跳过_id

标签: javascript angularjs mongodb meanjs


【解决方案1】:

感谢 dfsq

终于达到了要求的结果:

$rootScope.filterResults = function(queryString){
        return function(results){
            if(queryString)
            {
                var keyList = Object.keys(results);
                for (var i = 0; i <=keyList.length; i++) {
                    if(keyList[i]!='_id' && !angular.isObject(results[keyList[i]]))
                    {

                        if(keyList[i]=='enabled')
                        {
                            if(queryString.toLowerCase()=='enabled' && results[keyList[i]]){
                                return true;
                            }
                            if(queryString.toLowerCase()=='disabled' && !results[keyList[i]]){
                                return true;
                            }
                        }
                        else
                        {
                            if(results[keyList[i]] && results[keyList[i]].toString().toLowerCase().indexOf(queryString.toLowerCase()) != -1)
                                return true;
                        }
                    }
                }
                return false;
            }
            return true;
        }
    };

【讨论】:

    【解决方案2】:
        Object.prototype.rid = function() {
            var obj = this;
            obj.id = this._id;
            delete this._id;
            return obj;
        }
      $scope.yourObject.rid();
    

    【讨论】:

    • 能否请您详细说明您的答案,添加更多关于您提供的解决方案的描述?
    猜你喜欢
    • 2018-07-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2022-01-15
    • 2013-07-07
    • 2015-12-19
    • 1970-01-01
    相关资源
    最近更新 更多