【问题标题】:how to get date from a form submission如何从表单提交中获取日期
【发布时间】:2018-10-20 00:55:15
【问题描述】:

我正在使用流星中的课程应用程序,您可以上课然后参加考试。如果您通过测试,您将获得证书。我在获取证书上的通过日期时遇到问题。

import moment from 'moment';

Template.SingleCertificate.helpers({
    passDate: function(){
        const id = FlowRouter.getParam('id');
        const classC = ClassC.findOne({_id:id});
    }
});


export const ClassC = new Mongo.Collection('classc');

ClassCSchema = new SimpleSchema({
    passDate: {
        type: Date,
        optional: true
}

此代码显示当前日期,而不是通过测试的日期。日期存储在集合(模式)中的数据库中。 如何更改此代码以检索测试通过日期而不是当前日期?

【问题讨论】:

  • 如果我明白了,你想知道如何使用 Mongo 数据库插入和查找数据吗? PS:SimpleSchema 不是一个集合,而是一个用于验证 schema 的包。
  • 我认为您需要提供更多信息。当您调用 Template.instance().data 时,您正在尝试检索 SingleCertificate 模板的数据,我想这不是您拥有类内容的模板。在您的课程内容模板上,我假设您正在提交数据,并且您需要确保在提交时,此数据存储在数据库中(即在集合中)。然后在 Template.SingleCertificate 助手上,您应该从存储数据的集合中检索它,而不是从模板中检索数据。如果您发布模式代码,我可以提供帮助。
  • @RicardoPesciotta 我正在尝试从集合中收集数据。集合中的代码是:export const ClassC = new Mongo.Collection('classc'); ClassCSchema = new SimpleSchema({ passDate: { type: Date, optional: true } 我已将 SingleCertificate 中的代码更改为: passDate: function(){ const id = FlowRouter.getParam('id'); const passDate = ClassC.findOne ({_id:id}); if(passDate){ return moment(passDate).format('MM/DD/YYYY'); }else{ return false; } } });
  • 请使用所有有助于解决问题的代码编辑您的答案
  • 代码在问题字段中编辑。现在使用新格式,当我使用 console.log(passDate) 时,我从模式中获取所有对象。其中的通过日期是正确的,但我只需要拉出那个日期来显示。如果我尝试返回(passDate),它会显示“未定义”

标签: javascript date meteor simple-schema


【解决方案1】:

我想出了答案:

passDate: function(){
    const id = FlowRouter.getParam('id');
    const certificate = ClassC.findOne({_id:id});
    const passDate = certificate.passDate;
      return moment(passDate).format('MM/DD/YYYY');
}

我需要获取证书 ID,然后是证书,然后才能获取数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 2014-04-23
    • 1970-01-01
    • 1970-01-01
    • 2014-10-23
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多