2016-06-24 68 views
1

此流星客戶端代碼應該將所有文檔從一個集合插入另一個集合,但ToCollection.find({}).count()返回0。任何想法如何解決這個問題?未能將文檔插入本地集合

//client/lib.js 

toCollection = new Mongo.Collection('null'); 

Meteor.subscribe('fromCollection'); //<------FromCollection has many documents 
FromCollection.find({}).forEach((doc) => { 
    toCollection.insert(doc);   //<------but nothing was inserted 
}); 
+0

看看http://stackoverflow.com/questions/16159533/meteors-collection-cursor-foreach-not-working – Gemmi

+0

1.爲什麼你要提供字符串「null」?你是不是指'null'? 2.在插入文檔之前,您需要等待訂閱準備就緒。 – MasterAM

+0

@MasterAM我不知道是否需要null。我在文檔中閱讀以使其成爲本地文檔,但是我在Discover Myteor上閱讀了本地手段在本地範圍中定義的內容,所以我很困惑。 –

回答

0

您需要正確創建的集合,像

var toCollection = new Mongo.Collection('toCollection'); 
var fromCollection = new Mongo.Collection('fromCollection'); 

通知

  1. 我已經創建了兩個集合
  2. new Mongo.Collection單參數的名稱收集,而不是值爲'的字符串0「。
+0

如果你想要一個本地的內存中的集合,它不同步到服務器/數據庫,你可以提供'null'而不是集合的名字。擁有服務器上不存在的命名集合會導致方法錯誤,因爲它會嘗試將更改發送到服務器。 – MasterAM

相關問題