2017-01-01 4 views
1

私はReactで開発しているMeteorアプリケーションを持っています。私はまだautopublishパッケージをプロジェクトに持っています([email protected])。ここでMeteor + React:mongoDBコレクションからデータを取得できません

は私の関連するコードです:

MainMenu.jsx

import React, { Component, PropTypes } from 'react' 
import { Meteor } from 'meteor/meteor' 
import { FlowRouter } from 'meteor/kadira:flow-router' 
import { createContainer } from 'meteor/react-meteor-data' 

import { ChatRooms } from '/imports/api/chatrooms.js' 

export class MainMenu extends Component { 
    render() { 
     console.log(this.props.chatrooms) 

     return (
      {/* Render stuff here is not part of the scope of this question */} 
     ) 
    } 
} 

MainMenu.PropTypes = { 
    chatrooms: PropTypes.array.isRequired 
} 

export default createContainer(() => { 
    return { 
     chatrooms: ChatRooms.find({}).fetch() 
    } 
}, MainMenu) 

chatrooms.js

import { Mongo } from 'meteor/mongo' 

export const ChatRooms = new Mongo.Collection('chatrooms') 

MainMenuコンポーネントでconsole.log(this.props.chatrooms)は常に(空の配列を返します。 [])。

meteor mongoコマンドをコンソールで実行したときに、db.chatrooms.find({});と入力すると、このすべてをテストするために挿入した3つのアイテムが返されるため、データベースには明らかに項目があります。

誰でも私がここで間違っているかもしれないと考えていますか?助けていただければ幸いです!

+1

問題のコードスニペットは、私は私の最初の流星でデータをフェッチ助けた+私は達成することができませんでした+モンゴアプリを反応させます最後の4時間以上から、ありがとう:) – adi

+1

これは嬉しいです@ダディを助けてくれました! :) –

+0

最初のクラスでこのコードなしでコードが機能しないという奇妙なことがあります。 'componentDidMount(){ \t \t Meteor.subscribe( 'projects'); \t} ' – adi

答えて

1

私はそれを理解しました。私はこのプロセス全体の中で重要な一歩を踏み出しました。

は、私はすべてを固定し、以下の行を追加する必要が私の/server/main.jsファイルで:

import '../imports/api/chatrooms.js 
関連する問題