我正在尝试为我的Angular网站模仿this example右侧边栏的功能。
我不知道这叫什么,甚至不知道如何在前端或后端进行操作!
我的假设:
创建一个直接来自数据库的值的表单,只显示所需的参数(即db.collection.find(query,{parameter:1}),每次用户修改时都会调用该参数此外,结果也会在选择时更新(我有超过100MB的文件,返回所有文件会很麻烦,我怎样才能限制返回的文件数量,比如20或50(用户输入) ?)并对其进行分页(返回1000份文件/每页50份= 20页'页')
选中的每个输入,{'字段' :value}将被返回 - 但我不确定如何控制空值(即如果用户没有选择燃料类型或传输范围会怎么样?)
如何正确设计此类功能?
答案 0 :(得分:1)
1)在您的查询中,使用限制语句:
var options = { "limit": 20 }
collection.find({}, options).toArray(...);
2)您可以验证用户空输入(例如。with 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;
}
并根据结果选择默认值/传递错误/渲染询问用户页面