sql >> データベース >  >> NoSQL >> MongoDB

mongoでマップリデュースの進行状況通知を取得することは可能ですか?

    組み込みの機能についてはわかりません。ただし、別のスクリプトでdb.currentOp()を実行することもできます。 時々、マップを読んでください-進捗状況を減らし、関係者に通知してください。

    これは私が見ることができるものの例です:

    > db.currentOp()
    {
        "inprog" : [
            {
                "opid" : 249198781,
                "active" : true,
                "lockType" : "read",
                "waitingForLock" : false,
                "secs_running" : 14,
                "op" : "query",
                "ns" : "mydb.mycoll",
                "query" : {
                    "mapreduce" : "mycoll",
                    "map" : function cf__9__f_() {
        emit(this.aid, 1);
    },
                    "reduce" : function cf__10__f_(k, vals) {
        var result = 0;
        vals.forEach(function (v) {result += v;});
        return result;
    },
                    "out" : {
                        "inline" : 1
                    }
                },
                "client" : "127.0.0.1:44254",
                "desc" : "conn",
                "threadId" : "0x7e98f24e4700",
                "connectionId" : 1958947,
                "msg" : "m/r: (1/3) emit phase 644165/7670157 8%",
                "progress" : {
                    "done" : 644165,
                    "total" : 7670157
                },
                "numYields" : 644
            }
        ]
    }
    



    1. Tornado + Celery + RabbitMQ + Redisを使用できますか?

    2. 現在の値に基づいてMongoDBの値を更新します

    3. nodejsスクリプト内のmongoデータベース内のすべてのコレクションを一覧表示する

    4. mongo dbから詳細をフェッチし、nodejsForkメソッドでオブジェクトに送信または保存する方法