2

サーバーとクライアント間のリアルタイム通信にsocket.ioを使用しているため、特定のドキュメントの変更をリッスンして、オンラインリストをクライアントに更新したかったのです
。コレクションのスキーマは次のとおりです。

var registerCompanySchema = new Schema({
              sn : { type: Number, unique:true }
              , companyName: String
              , employees:[String],
               companyId:{type:Number,unique:true},
               onlineEmployees:[String]  //uname
          });


私は配列「onlineEmployees」を使用して、現在オンラインの従業員のユーザー名を保存しています
。mongoDB は初めてです....回答に詳細を記入してください。

4

1 に答える 1

0

この質問で述べたように、oplog を見るのがおそらく最善の策です。

使用している場合は、wiki からこの例mongoskinのバリアントを試すことができます:

skin = require "mongoskin"
db = skin.db "localhost:27017/local"

#Cursor on oplog (a capped collection) which maintains a history for replication
#oplog can be used only when replication is enabled
# Use oplog.rs instead of oplog.$main if you are using replica set

oplog = db.collection "oplog.$main"
cursor = oplog.find({'ns': "icanvc.projects"},{tailable: yes, awaitData: yes})

#Using cursor.nextObject will be slow
cursor.each (err, log)->
    console.error err if err
    console.log log if not err
于 2013-01-07T21:00:35.083 に答える