Meteor + React:无法从 mongoDB 集合中获取数据
Meteor + React: Can't get data from mongoDB Collection
我有一个使用 React 开发的 Meteor 应用程序。我的项目 (autopublish@1.0.7
) 中仍然有 autopublish
包。
这是我的相关代码:
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)
总是returns一个空数组([]
)。
Mongo
数据库中肯定有项目,因为当我 运行 我的控制台中的 meteor mongo
命令并键入 db.chatrooms.find({});
它 returns 3我插入的项目来测试这一切。
有人知道我在这里做错了什么吗?非常感谢您的帮助!
我已经弄明白了。我遗漏了整个过程的关键步骤。
在我的 /server/main.js
文件中,我需要添加以下行来修复所有问题:
import '../imports/api/chatrooms.js
我有一个使用 React 开发的 Meteor 应用程序。我的项目 (autopublish@1.0.7
) 中仍然有 autopublish
包。
这是我的相关代码:
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)
总是returns一个空数组([]
)。
Mongo
数据库中肯定有项目,因为当我 运行 我的控制台中的 meteor mongo
命令并键入 db.chatrooms.find({});
它 returns 3我插入的项目来测试这一切。
有人知道我在这里做错了什么吗?非常感谢您的帮助!
我已经弄明白了。我遗漏了整个过程的关键步骤。
在我的 /server/main.js
文件中,我需要添加以下行来修复所有问题:
import '../imports/api/chatrooms.js