sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan kontrollerer jeg i Mongodb, om alle dokumenterne er unikke for en værdi?

Prøv dette, bruger en hurtig kort-reducer-forespørgsel for at finde antallet af dokumenter, der har samme navn, og returnerer sandt, hvis de alle er forskellige:

function allDifferent() {
    var m = function() { emit(this.name, 1); }
    var r = function(key, emits) {
        var n = 0; emits.forEach(function(v) { n += v; }); return n;
    }
    var result = db.mycol.mapReduce(m, r, { out: "namecounts" });
    var allDifferent= (db.namecounts.count( { value: { $gt: 1 } } ) == 0)
    db.namecounts.drop();
    return allDifferent;
}



  1. MongoDB Utilstrækkelig ledig plads til journalfiler

  2. Hvordan får man de sidste 5 dokumenter i sekventiel rækkefølge?

  3. brygtjenester. Kan ikke starte service. get Bootstrap mislykkedes:5:Input/output fejl

  4. Mongoose Model Custom fejlmeddelelse for Enums