Я новичок в Meteorjs, и я пытаюсь получить данные из уже существующего MongoDB. Вот что я до сих пор:Метеор клиентская сторона доступа к существующему mongoDB
я установить переменную MONGO_URL ENV в URL MongoDB экспорт MONGO_URL = "MongoDB: // имя пользователя: пароль @ адрес: порт/DBName"
Created новый метеорный проект с помощью следующего кода:
MyCollection = new Meteor.Collection('mycollection'); if (Meteor.isClient) { //Meteor.subscribe("mycollection"); console.log(MyCollection.findOne()); Template.hello.greeting = function() { return MyCollection.findOne(); }; } if (Meteor.isServer) { Meteor.startup(function() { // code to run on server at startup console.log(MyCollection.findOne()); }); }
Я знаю, что на стороне сервера console.log(MyCollection.findOne());
работает, как она выводит правильные данные на терминале.
Проблема с клиентской стороной. Когда я просматриваю страницу в своем браузере, данные пусты, а console.log(MyCollection.findOne());
показывает «неопределенный».
Я знаю, что автообновление включено, и мне не нужно вручную публиковать коллекцию со стороны сервера.
Я хотел бы знать, как я мог бы заставить клиента читать из моего внешнего mongoDB напрямую. Дайте мне знать, если у вас есть предложения!
Спасибо за помощь! Я не знал, что для публикации данных требуется некоторое время. Это привело меня на правильный путь, и я обнаружил, что причина, по которой он так долго задерживался, заключалась в том, что db был слишком большой. Я тестировал его на меньшем дБ, и, похоже, он работает. – anubhavashok
Я рад, что это было полезно. Надеемся, вы сможете определить способ публикации меньшего подмножества данных и повышения производительности. –