Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Angular/Express/MongoDB中的过滤器创建搜索?_Mongodb_Angular_Express - Fatal编程技术网

如何使用Angular/Express/MongoDB中的过滤器创建搜索?

如何使用Angular/Express/MongoDB中的过滤器创建搜索?,mongodb,angular,express,Mongodb,Angular,Express,我试图模仿我的Angular站点的右侧边栏的功能 我不知道这叫什么,甚至不知道如何在前端或后端进行 我的假设是: 使用直接来自DB的值创建一个表单,只显示所需的参数(即DB.collection.find(query,{parameter:1}),每次用户修改表单时都会调用该参数进行更新。此外,在选择时也会更新结果(我有超过100MB的文档,返回所有文档都会很麻烦,我如何将返回的文档数量限制为20或50(用户输入?)并对其进行分页(1000个文档返回/50每页=20个“页面”) 选择的每个输入都

我试图模仿我的Angular站点的右侧边栏的功能

我不知道这叫什么,甚至不知道如何在前端或后端进行

我的假设是:

  • 使用直接来自DB的值创建一个表单,只显示所需的参数(即DB.collection.find(query,{parameter:1}),每次用户修改表单时都会调用该参数进行更新。此外,在选择时也会更新结果(我有超过100MB的文档,返回所有文档都会很麻烦,我如何将返回的文档数量限制为20或50(用户输入?)并对其进行分页(1000个文档返回/50每页=20个“页面”)

  • 选择的每个输入都会返回一个{“字段”:值}——但我不确定如何控制空值(即,如果用户不选择燃油类型或变速箱范围怎么办?)

  • 如何正确地设计这样的功能?

    1)在查询中,使用限制语句:

        var options = { "limit": 20 }
        collection.find({}, options).toArray(...);
    
    2) 您可以验证用户空输入(例如):


    并根据结果为用户选择默认值/pass error/render ask page

    如何使用express validator删除空字段({field1:“}),并将非空字段传递给查询?请检查express validator上的自定义验证器
    req.checkBody('postparam', 'Invalid postparam').notEmpty()
    req.getValidationResult().then(function(result) {
        if (!result.isEmpty()) {
          res.status(400).send('There have been validation errors: ' + util.inspect(result.array()));
          return;
    }