如何从多个不同的html页面获得mongodb文档的用户输入
How do you get user input for a mongo db document from multiple different html pages?
我有一个mongodb设置,它将保存一些用户输入值。用户将输入数据的表单都在不同的html页面上,一旦您填写了一个表单,它就会将您发送到下一个页面。我想不出的是,一旦每个字段都被填满,如何将所有这些数据放在一个文档中。我觉得这很复杂,因为如果你转到下一个表格的下一页,上一个表格将不仅仅包含等待所有其他表格填写的数据。为了将其放在某种上下文中,我使用meter和包aldeed:autoform和aldeed:collection2将用户输入转换为json格式的文档。目前,我只能使用自动表单在同一页面上填写所有用户输入,然后按下提交按钮,将所有输入同时放在文档中。
在第一个表单中,使用Meteor.userId()插入集合(假设用户已登录)。在接下来的表单中,您可以简单地使用方法更新集合。
客户:
Meteor.call('firstForm',var1,var2);
Meteor.call('secondForm',var1,var2);
服务器:
Meteor.methods({
'firstForm': function (var1,var2) {
collection.insert({
createdBy: Meteor.userId(),
var1: var1,
var2: var2
});
},
'secondForm': function (var3,var4) {
collection.update({
createdBy: Meteor.userId()
}, {
$set: {
var3: var3,
var4: var4
}
});
}
});
更好的解决方案是使用reactive-var维护会话对象。可能是n个表单,您可以简单地更新会话对象。在上面的代码中,如果用户返回并更改第一个表单,该怎么办?它将再次插入,甚至可能失败。上面的代码只是显示了积极的工作流程,但您必须考虑所有的可能性。您可以对会话对象进行所有n次更新,这并不重要。数据库调用是对最后一个表单进行的,您只插入一次,就完成了。在接受一个解决方案之前,你应该仔细检查由答案填充的用例。
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 名称输入的索引
- 如何编写HTML输入的JS内联
- 如何从多个不同的html页面获得mongodb文档的用户输入
- Selectize.js:如何将数据库中已经选择的标签预加载到输入字段(Meteor&MongoDB/JSON)
- mongodb用户配置文件添加输入时出现问题
- 如何确保唯一的电子邮件,用户名将使用Mongoose输入MongoDB
- 将图像从HTML中的输入和使用javascript存储到mongodb中的集合中
- 用angularJS和输入类型=“”更新mongodb中的日期;日期”;
- 在mongoDb中,如果字符串输入与任何数组元素匹配,如何获取整个记录(在这种情况下,数组是记录的属性)
- 在MongoDB中输入用户名数组,并返回相同大小的id数组,对于不存在的用户名为null或false
- 如何从MongoDB中提取项目,并在输入新项目时进行更新
- 如何在“;mongodb”;对于“;typeahead”;获取用户输入为val的调用
- 从Node.js读取用户输入并将其保存在MongoDB中
- 我如何验证输入与MongoDB
- 使用MongoDb和Node.js输入数据
- 通过表单输入和pug模板渲染器从Mongodb检索数据
- 使用Angular根据表单输入从MongoDB中提取数据
- 对存储在MongoDB中的用户输入进行编码