2017-07-27 32 views
0

我有一個包含對象數組的集合;架構如下所示:

Boards.attachSchema(new SimpleSchema({ 
    [...] 
    'members.$.userId': { 
    type: String, 
    }, 
    'members.$.isActive': { 
    type: Boolean, 
    }, 
    [...] 

現在我有一個集合鉤after.update如果更新發生在董事會的一名成員在其正確觸發。

如何獲取更新發生的成員(或成員的userId)(如果在我的情況下,只有isActive被更改爲成員?修改器在該情況下看起來如下所示:

{"$set":{"members.1.isActive":true,"modifiedAt":"2017-07-27T15:40:19.733Z"}} 

我一定要拆分的字段名能夠找到的會員嗎?

我怎麼能檢測到這種情況(「成員被激活」)?

回答

1

According to Aldeedthis.docId應在服務器上可用呃。

您可能還會發現matb33:meteor-collection-hooks包有用。它基本上允許你創建數據庫觸發器

+0

我不知道是否有其他的集合鉤子包,但提到的「collection hook after.update」就是這樣一個matb33:meteor-collection-hooks包的鉤子。 –

+1

啊,我看到了,我誤解了這個問題,我以爲你試圖在架構代碼本身中獲取'memberId'(例如'autoValue')。在'after.update()'文件本身可用作第二個參數。你應該可以看看'doc.members.1.userId'。在模式的'autoValue'代碼中這樣做會更容易。 –