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

Mongo dbrefの追加フィールドは、mongoshellでは表示されません。それらを表示する方法は?

    Mongoシェルは、 MozillaSpiderMonkey の拡張機能です。 (1.7?)そしてかなり素朴な機能を持っています。

    シェルに関するMongoDBブログ投稿 からの提案 次のinspectを定義することです .mongorc.jsの関数 ホームディレクトリにある

    function inspect(o, i) {
        if (typeof i == "undefined") {
            i = "";
        }
        if (i.length > 50) {
            return "[MAX ITERATIONS]";
        }
        var r = [];
        for (var p in o) {
            var t = typeof o[p];
            r.push(i + "\"" + p + "\" (" + t + ") => " + 
                  (t == "object" ? "object:" + inspect(o[p], i + "  ") : o[p] + ""));
        }
        return r.join(i + "\n");
    }
    

    さらに、DBRef.toString関数を次のように再定義できます。

    DBRef.prototype.toString = function () {
        var r = ['"$ref": ' + tojson(this.$ref), '"$id": ' + tojson(this.$id)];
        var o = this;
        for (var p in o) {
            if (p !== '$ref' && p !== '$id') {
                var t = typeof o[p];
                r.push('"' + p + '" (' + t + ') : ' + 
                    (t == 'object' ? 'object: {...}' : o[p] + ''));
            }
        }
        return 'DBRef(' + r.join(', ') + ')';
    };
    



    1. MongoDBでfeatureCompatibilityVersionを表示する方法

    2. MongoDBからNode.JsにJSONツリーを作成します

    3. mongodb集約ジョブのメモリ制限の増加

    4. PostgreSQLとMongoDB