2017-01-01 98 views
1

我有一個我正在用React開發的流星應用程序。我的項目中仍然有autopublish包([email protected])。流星+反應:無法從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)總是返回一個空數組( [])。

有絕對的Mongo數據庫項目,因爲當我在控制檯運行meteor mongo命令,然後鍵入db.chatrooms.find({});返回,我已經插入到所有測試此3項。

任何人有任何想法我可能在這裏做錯了嗎?幫助將非常感謝!

+1

的問題你的代碼片斷幫助我在我的第一個流星獲取數據+反應過來+ Mongo的應用程序,我無法實現從最後4小時起,謝謝:) – adi

+1

很高興這幫助你了@adi! :) –

+0

我觀察到一個奇怪的事情,我的代碼不工作,沒有這個片段在第一類: 'componentDidMount(){ \t \t Meteor.subscribe('projects'); \t}' – adi

回答

1

我已經想通了。我忽略了整個過程的關鍵一步。

在我/server/main.js文件,我需要添加以下行其固定的一切:

import '../imports/api/chatrooms.js