【问题标题】:Meteor-react inserting url into mongodb stores 'null'Meteor-react将url插入mongodb存储'null'
【发布时间】:2016-07-26 07:03:06
【问题描述】:

我正在使用表单component 将数据插入Mongo-Collection。当我签入terminal 以获取存储的信息时,我确实成功地存储了Title 和来自Select 输入的数据,但是对于both url 和file 输入,具有null 的值。

下面是处理import文件夹插入方法的代码:

Meteor.methods({

 'posts.insert' : function(post) {

    return Posts.insert({
      createdAt: new Date(),
      title: post.title,
      social: post.social,
      link: this.link,
      file: this.file
    });
  }
});

这是处理表单提交的组件代码:

import React, { Component } from 'react';

class AddPost extends Component {

  constructor(props) {
    super(props);

    this.state = {error: ''};
  }

  handleSubmit(event) {
    event.preventDefault();

    const title = this.refs.title.value;
    const social = this.refs.social.value;
    const link = this.refs.link.value;
    const file = this.refs.file.value;

    Meteor.call('posts.insert', {title, social, link, file});
  }

  render() {
    return (
        <div className="modal fade" id="myModal" tabIndex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
          <div className="form-outer">
            <form id='add_post' onSubmit={this.handleSubmit.bind(this)}>
                <div className='form-text form-header'>
                  <p><strong>Hey</strong>, master<span className='error'>{this.state.error}</span></p>
                  <p>Lets share something new today?</p>
                </div>
                <input ref="title" type="text" className="form-input" placeholder="What about the title?" />
                <div className='form-text form-header form-header-distance'>
                  <p>Where should I point the way?</p>
                </div>
                <select ref="social" className="form-select">
                  <option>Select</option>
                  <option>Instagram</option>
                  <option>Twitter</option>
                </select>
                <input ref="link" type="url" className="form-input" placeholder="Point the way" />
                <div className='form-text form-header form-header-distance'>
                  <p>And what about the image?</p>
                </div>
                <label className="file form-file">
                  <input ref='file' className='form-input' type="file" id="file" />
                  <span className="file-custom"></span>
                </label>
                <button type="button" className="form-button" data-dismiss="modal">Close</button>
                <button type="sumbit" className="form-button" >Save</button>
            </form>
          </div>
        </div>
    );
  }
}

export default AddPost;

P.S:这超出了这些问题的主题,但如果您能指出一些外部资源或解释是否可以从本地机器上传/存储新图像(不是来自公用文件夹的静态图像),我将不胜感激并将它们提供给前端视图?

【问题讨论】:

    标签: mongodb url meteor reactjs null


    【解决方案1】:

    让你的流星方法如下:

    Meteor.methods({
      'posts.insert'(post){
        post.createdAt: new Date();
        Posts.insert(post);
      }
    })
    

    【讨论】:

    • 谢谢哈菲兹,你把我带回了路上:)
    猜你喜欢
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-15
    • 2015-06-27
    • 2017-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多