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

Luwak bagaimana cara menulis kueri dengan kondisi if?

Anda dapat menggunakan javascript untuk membuat dokumen json secara dinamis berdasarkan parameter kueri Anda.

Fungsi Anda yang diperbarui akan terlihat seperti

post.getSpecificDateRangeJobs = function(queryData, callback) {

  var matchCriteria = queryData.matchCriteria;
  var currentDate = new Date();

  // match document
  var match = {
    "expireDate": {
      "$gte": currentDate 
    }
  };

  if (matchCriteria !== "") {
    match["$text"]: {
      "$search": matchCriteria
    }
  };

  // group document
  var group = {
    _id: null
  };

  // Logic to calculate hours difference between current date and publish date is less than 30 hours.

  if (queryData.dateGroups.thirtyHourAgo) {
    group["thirtyHourAgo"] = {
      "$sum": {
        "$cond": [{
            "$lte": [{
              "$divide": [{
                "$subtract": [currentDate, "$publishDate"]
              }, 1000 * 60 * 60]
            }, 30]
          },
          1,
          0
        ]
      }
    };
  }

  // Similarly add more grouping condition based on query params.

  var postsCollection = post.getDataSource().connector.collection(
    post.modelName
  );

  // Use aggregate builder to create aggregation pipeline.

  postsCollection.aggregate()
    .match(match)
    .group(group)
    .exec(function(err, groupByRecords) {
      if (err) {
        return callback("err");
      }
      return callback(null, groupByRecords);
    });

};


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana menemukan string dengan huruf yang cocok dalam daftar/array menggunakan fungsi lambda?

  2. Validasi objek terhadap skema Mongoose tanpa menyimpan sebagai dokumen baru

  3. Perbarui bidang dengan nilai dari bidang bersarang

  4. Skema pilihan MongoDB untuk koleksi yang disematkan. dokumen vs. array

  5. Tidak dapat terhubung ke MongoDB (MongoLabs) melalui klien C#