未捕获的参考错误:未定义集合---在meteor app

时间:2017-07-30 15:41:54

标签: javascript mongodb reactjs meteor minimongo

这是.js文件,它位于我的meteor项目的进口/ ui。

    import React from 'react';
    import {Tasks} from './../api/tc';

    export default class Task extends React.Component{
   render(){
return(

 <div key={this.props.task._id} className='item'>
    <p>
    {this.props.task.name}
    </p>
    <p className='prioritypoints'>
    priority level : {this.props.task.score}
    </p>
    <button className='button button--round' onClick={() => tc.remove({_id: this.props.task._id})}>X</button>
    <button className='button button--round' onClick={()=>
    tc.update({_id: this.props.task._id}, {$inc: {score:1}})}>
    +1</button>
    <button className='button button--round' onClick={()=>
    {tc.update({_id: this.props.task._id},{$inc: {score:-1}})}}>
    -1</button>

    </div>
);
      }
    };

&#34; TC&#34;是我在import / api / tc中定义的mongoDB集合的名称。按钮的onClick事件没有响应,因为根据控制台未定义task_collection。

tc.js:

    import {Mongo} from 'meteor/mongo';
    export const Tasks = new Mongo.Collection('tc');

为什么即使在我在此文件中导入集合后出现了这样的问题?

1 个答案:

答案 0 :(得分:0)

它不应该是tc.remove,它应该是 Tasks.remove({_id: this.props.tasks.id});

所有查询都在Tasks上运行,因为它是Mongo.Collection的实例而不是tc,tc是你的db名称。