У меня есть приложение Meteor, которое я разрабатываю с помощью React. У меня все еще есть пакет 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')
console.log(this.props.chatrooms)
в MainMenu
компонент всегда возвращает пустой массив ([]
).
Есть определенно элементы в Mongo
базы данных, потому что, когда я запускаю команду meteor mongo
в моей консоли и введите db.chatrooms.find({});
он возвращает 3 вещи, которые я вставленная, чтобы проверить это все.
Кто-нибудь знает, что я могу делать неправильно здесь? Помощь будет очень признательна!
ваш фрагмент кода в этом вопросе помог мне удалось получить данные в моем первом метеора + срабатывают + Монго приложение, которое я не смог достичь с последних 4 + часов, спасибо :) – adi
Рад, что это помогло вам @adi! :) –
Я заметил странную вещь, что мой код не работает без этого фрагмента в первом классе: 'componentDidMount() { \t \t Meteor.subscribe ('projects'); \t} ' – adi