流星+;反应:Can';无法从mongoDB集合获取数据

流星+;反应:Can';无法从mongoDB集合获取数据,mongodb,reactjs,meteor,collections,meteor-1.4,Mongodb,Reactjs,Meteor,Collections,Meteor 1.4,我有一个Meteor应用程序,我正在与React一起开发。我的项目中仍然有autopublish包(autopublish@1.0.7) 这是我的相关代码: main menu.jsx import React, { Component, PropTypes } from 'react' import { Meteor } from 'meteor/meteor' import { FlowRouter } from 'meteor/kadira:flow-router' import { cr

我有一个Meteor应用程序,我正在与React一起开发。我的项目中仍然有
autopublish
包(
autopublish@1.0.7

这是我的相关代码:

main menu.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)
聊天室.js

import { Mongo } from 'meteor/mongo'

export const ChatRooms = new Mongo.Collection('chatrooms')
主菜单中的
console.log(this.props.chattrooms)
组件总是返回一个空数组(
[]

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


有人知道我可能做错了什么吗?非常感谢您的帮助

我已经弄明白了。我遗漏了整个过程中的一个关键步骤

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

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

你在问题中的代码片段帮助我在我的第一个meteor+react+mongo应用程序中获取数据,这是我在过去4个多小时内无法实现的,谢谢:)很高兴这帮了你@adi:)我注意到一件奇怪的事情,我的代码在第一个类中没有这个片段就无法工作:
componentDidMount(){Meteor.subscribe('projects');}