2016-02-21 36 views
0

所以我正在製作一個非常簡單的Web應用程序,並且我正在嘗試在其中使用數據庫。 但是,即使我創建集合,然後做出適當的幫助,當我嘗試使用它時,似乎沒有任何東西正在渲染。所以我進入控制檯並試圖看看Unis.find()。fetch()會返回什麼(Unis是我的集合),並返回一個空數組,這就解釋了爲什麼沒有渲染。但是,使用mongo命令提示符時,我可以找到項目並插入它們。對於可能發生的事情我很困惑。Meteor.js:.find()即使數據庫不爲空也不會返回任何內容

我的JavaScript相關的收藏,所以我的模板助手和定義集合:這裏

Unis = new Mongo.Collection("unis"); 

    if (Meteor.isClient) { 
     // Rendering 
     Template.dashboard.helpers({ 
     unis: function() { 
      return Unis.find(); 
     } 
     }); 
    } 

    if (Meteor.isServer) { 
     Meteor.startup(function() { 
     // code to run on server at startup 
     }); 
    } 

HTML使用集合,但我不認爲這是問題

<template name="dashboard"> 
    <div class="container"> 
    <div class="row"></div> 
    <div class="row"></div> 
    {{#each unis}} 
     {{> uni}} 
    {{/each}} 
    </div> 

</template> 

<template name="uni"> 
    {{name}} 
</template> 

使用Unis.find()。fetch();不返回任何東西,但它在mongo Using Unis.find().fetch(); doesn't return anything but it does in mongo

任何幫助將非常感激,因爲我沒有太多的想法做什麼。我也是流星的新手,所以不確定這是否真的很明顯。

編輯:添加實際代碼而不是圖片。

+0

您可以請嘗試在您的問題中包含實際的代碼而不是圖像,因爲圖像中的代碼無法複製並粘貼到編輯器中並進行編譯以重現問題。在爲什麼通常不推薦在SO上發佈代碼圖像的許多其他原因中,圖像很大並且難以在移動設備上閱讀,它們不能被搜索,因此對於未來的讀者是沒有用的。 – chridam

+0

有沒有可能您沒有發佈任何內容?你能否把你的Meteor.publish代碼添加到問題中? –

+0

@chrisdam對不起,我沒有真正想過,編輯了主要帖子以包含代碼本身。 –

回答

0

我修正了它,這是一個非常明顯的錯誤,只是我沒有透露重要的信息。 我發佈的JavaScript是在我的目錄裏的「client」文件夾中的「website.js」中,所以它只是在客戶端定義的。 我只是在我的目錄的根目錄下創建了一個「shared.js」,並將該行放入並完成! 還是謝謝大家的回覆!

相關問題