База данных метеоров find () не возвращает документы при развертывании приложения
У меня есть следующий HTML:
<template name="something">
{{#each biller}}
<div>write_something</div>
{{/each}}
</template>
,
Помощник для#each biller
как показано ниже:
billers = new Mongo.Collection("billers");
Template.something.helpers({
biller: function(param){
return billers.find({param:param}) ;
}
});
Это работает правильно при развертывании вlocalhost
, Тем не менее, когда я развернуsubdomain.meteor.com
с помощьюmeteor deploy
Див внутри#each biller
отображается пустым - нет содержимого. Затем я заменилbillers.find()
в помощнике сreturn ['a','b']
(некоторый массив), и он снова работал нормально. Так что я сузил проблему до того, чтоbillers.find()
при развертывании не работает должным образом, возможно, он не может подключиться к базе данных. Пока это не работает, в консоли браузера я вижу следующее сообщение:WebSocket connection to 'wss://ddp--3592-biller2.meteor.com/sockjs/969/mty9hj18/websocket' failed: WebSocket is closed before the connection is established. cbd6db56612e463370fc8f0b4c909d896b48d176.js:32 WebSocket connection to 'wss://ddp--5246-biller2.meteor.com/sockjs/849/wr1l0s5w/websocket' failed: WebSocket is closed before the connection is established.
Я не знаю, связано ли это сообщение об ошибке с проблемой, с которой я столкнулся. Любые идеи о том, как это исправить?
Обновить:
Я добавил строку к помощнику, как указано в комментарии ниже:if(billers.find().count()==0) console.log("zero") else console.log("not zero")
При запуске на localhost он выдает «не ноль», а при запуске на subdomain.meteor.com выводит «ноль». Так что я думаю,find()
работает, но получает ноль документов. Почему это так?