這個Meteor代碼工作正常,但我想問問Meteor是幹什麼的,或者這是一種不可預測的副作用,可能會在稍後的某些情況下發生變化。
的事情是,當我做
DisplayCol.insert({action: 'task1', element: 'p', value: value_variable});
流星還插入了正確的用戶ID(使用2個不同的瀏覽器登錄的2個不同的用戶),我沒有明確包含在文檔中。userId奇蹟般地進入文檔
上面的代碼行是在從Meteor方法調用的服務器端函數中。
這裏是相關信息;
//lib/collection.js
DisplayCol = new Mongo.Collection('displayCol');
//server.js
Meteor.publish('displayCol', function() {
return DisplayCol.find({userId: this.userId});
});
DisplayCol.before.insert(function (userId, doc) {
doc.userId = userId;
});
在收集鉤的docs>其他備註>第二項目符號段落說:
userId可用於查找和查找在發佈功能中調用的一個查詢。
但是這是一個collection.insert。所以我應該在文檔中明確包含userId還是讓集合掛鉤實現其隱藏的魔力?謝謝
確定,具體來說,函數中的userId參數傳遞給鉤子,它如何知道要使用哪個userId? –
@FredJ。它使用當前用戶的ID。類似於Meteor.userId()。 – Kishor
@FredJ。更新了答案。 – Kishor