MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Допълнителните полета на Mongo dbref са невидими в mongoshell. Как да ги покажем?

Обвивката Mongo е разширение на Mozilla SpiderMonkey (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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB Java - Прехвърляне към вложен масив?

  2. Четене на масив в mongodb?

  3. 4 начина за актуализиране на документ в MongoDB

  4. Полетата за резултати от Mongoose/MongoDB изглеждат недефинирани в Javascript

  5. Копирайте стойността на първия масив в друго поле в MongoDB