我有一個應用程序,有Facebook登錄。用戶有一個影響其他用戶的行爲。我希望受影響的用戶能夠實時通知他們是否已登錄,否則他們會在下次登錄時看到通知。我在服務器端使用tornado
(非阻塞)。數據庫是mongodb
。我使用motor
作爲我的異步mongodb客戶端,我想我想使用socket.io
。到目前爲止,這是我覺得我應該這樣做:facebook like龍捲風通知,mongodb
每當用戶說
user1
執行影響user2
的動作,users
收集對應於user2
該行會以某種方式足以得到更新生成通知內容。當用戶說
user2
登錄到網站時,它通過socket.io
連接到websocket。在服務器端,在on_connect
內部,所有存儲的通知都發送到客戶端,並且安裝了一個處理程序,用於監視users
集合中對應於user2
的行。每當它檢測到更改時,它都會發出一條消息,指示新的通知。此外,在閱讀通知時,客戶端將向服務器發送一條消息,以重置users
集合中的條目。這些處理程序必須在斷開連接時取消註冊。
問題是,如何安裝這些處理程序?我找不到任何讓MongoDB通知我有任何變化的方法。我該怎麼做呢?
的MongoDB沒有提供變更通知的任何標準方式。您需要將其添加到您的數據層代碼中。 – WiredPrairie 2013-04-28 02:31:20