2017-04-20 59 views
0

我使用mongodb處理流星。我正試圖從數據庫中獲取一個集合。我可以從流星中插入沒有任何問題的數據,但是當我嘗試查找時,它不起作用。 我的收藏是'第一'。流星 - 查找返回undefined

服務器端:

Meteor.publish('first', function(){ 
    return first.find(); 
}); 

客戶端:

var datacollab = first.find({"Mois":"Mars"}); 
console.log("collab: " + datacollab); 

當我做在蒙戈外殼該命令行,它工作正常。 我已經嘗試用findOne更改我的請求,或者將.fetch放在最後。

+0

您沒有指定您是否訂閱? – ghybs

+0

是的,我在客戶端: 'Meteor.subscribe('first');' –

+1

您是否在等待訂閱準備好/數據到達? – ghybs

回答

1

如果你需要你的代碼在你的Template.myTemplate.onRendered掛鉤,那麼你有幾種選擇:

  • 使用時,將自動您的數據庫查詢/光標返回新的數據重新執行Tracker.autorun
  • 使用onReady訂閱回調(假設您在創建或呈現模板時訂閱)。當客戶端收到服務器發佈的第一個完整快照時,您的回調將被執行。
+0

我嘗試使用Tracker.autorun。我寫道: 'var handle = Meteor.subscribe('first'); (); Tracker.autorun(function(){ if(handle.ready())console.log('ready'); var datacollab = first.find()。fetch(); console.log(「data =「+ datacollab); } else { console.log('not ready'); } });' 和Web控制檯顯示我無法使用我的數據,但如果我等待一點點,沒關係: [鏈接](http://www.zupimages.net/up/17/16/s23s.tiff) –

+0

我想這是另一個問題,你的答案是正確的,我的最初的問題。謝謝 –