sql >> Databáze >  >> NoSQL >> MongoDB

Jak dynamicky sestavit dotaz mongodb

Můžete použít $in když pole není prázdné a $nin když je pole prázdné, pole shody se tímto způsobem nebude brát v úvahu ($nin : [] ):

function buildMatch(arr) {
    var matcher = {};
    if (arr.length == 0)
        matcher["$nin"] = arr;
    else
        matcher["$in"] = arr;
    return matcher;
}

var grades = ["09", "10", "11", "12"];
var areas = [ "English 2" ];

var gradeMatch = buildMatch(grades);
var areaMatch = buildMatch(areas);

db.students.aggregate([{
    $match: {
        "school._id": "7011",
        "studentGradeLevels": gradeMatch,
        "contentArea": areaMatch
    }
}])


  1. Jak použít $set a tečkovou notaci k aktualizaci prvků vloženého pole pomocí odpovídajícího starého prvku?

  2. Jak vrátit počet aktualizovaných objektů v mongodb?

  3. MongoDB – Index se nepoužívá při řazení a omezuje se na dotaz s rozsahem

  4. Všechny jmenné servery neodpověděly na port UDP 53 cloudové funkce Google python 3.7 atlas mongodb