sql >> Database >  >> NoSQL >> MongoDB

Hoe controleer ik in Mongodb of alle documenten uniek zijn voor een waarde?

Probeer dit, gebruik een snelle map-reduce query om het aantal documenten met dezelfde naam te vinden en true terug te geven als ze allemaal verschillend zijn:

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. Hoe kan ik schaalproblemen oplossen met serverless en MongoDB?

  2. Hoe voer ik een vondst uit met $geoIntersects / 2dsphere in een array-subveld?

  3. Kan het `gebruikers`-model niet overschrijven als het eenmaal gecompileerde knooppunt js

  4. Hoe voorkom ik dat het veld _t verschijnt bij het upserten in MongoDB?