Meteor + React:无法从mongoDB Collection

时间:2017-01-01 09:55:34

标签: mongodb reactjs meteor collections meteor-1.4

我正在使用React开发流星应用程序。我的项目中仍然有autopublish个包(autopublish@1.0.7)。

以下是我的相关代码:

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')

console.log(this.props.chatrooms)组件中的MainMenu始终返回一个空数组([])。

Mongo数据库中肯定存在项目,因为当我在控制台中运行meteor mongo命令并键入db.chatrooms.find({});时,它会返回我插入的3个项目来测试这一切

任何人都知道我在这里做错了什么?非常感谢帮助!

1 个答案:

答案 0 :(得分:2)

我已经弄清楚了。我遗漏了整个过程的关键步骤。

在我的/server/main.js文件中,我需要添加以下行来修复所有内容:

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