MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Cara membuat kueri mongodb secara dinamis

Anda dapat menggunakan $in ketika array tidak kosong dan $nin ketika array kosong, dengan cara ini kolom kecocokan tidak akan diperhitungkan ($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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. cara mengatur mogodb di layanan pemula dengan otentikasi

  2. Bagaimana cara menyimpan gambar byte[] di mongodb untuk proses Doocr

  3. Masukkan kinerja node-mongodb-native

  4. Saring array duplikat dan kembalikan array unik dalam agregasi mongodb

  5. Masalah Zona Waktu Node.js dan MongoDB UTC tidak dikonversi dengan benar oleh driver?