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

Filter Tanggal Luwak

Gunakan objek tanggal aktual untuk kueri Anda, bukan string seperti yang Anda lakukan saat ini. Karena mongo menyimpan tanggal yang dibungkus dengan ISODate helper dan BSON yang mendasarinya (format data penyimpanan yang digunakan oleh mongo secara asli) memiliki datetime UTC tipe tanggal khusus yang merupakan bilangan bulat bertanda 64 bit (jadi, 8 byte) yang menunjukkan milidetik sejak zaman waktu Unix, kueri Anda tidak mengembalikan apa pun sebagai itu akan membandingkan bidang tanggal di mongo dengan string berformat ISO.

Jadi, lepaskan toISOString() konversi dan gunakan objek tanggal:

if (data.date) {
    const date = new Date();
    const dateRange = data.date.slice(0, -1); // strip the "d" from "7d"
    date.setDate(date.getDate() - dateRange);
    query.start = { $lte: date };
    console.log(query);
}

Call.find(query, function (error, docs) {
    if (error) callback(error, null);
    callback(null, docs);    
});

Lebih baik lagi, Anda dapat menggunakan momentjs plugin yang memiliki API manipulasi datetime yang sangat intuitif dan mudah. Salah satu metode yang dapat Anda gunakan adalah subtract() berfungsi untuk mendapatkan objek tanggal n jumlah hari yang lalu:

if (data.date) {    
    const dateRange = data.date.slice(0, -1); // strip the "d" from "7d"
    const date = moment().subtract(dateRange, "days");
    query.start = { $lte: date };
    console.log(query);
}

Call.find(query, function (error, docs) {
    if (error) callback(error, null);
    callback(null, docs);    
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Luwak, Pilih bidang tertentu dengan find

  2. Bagaimana cara mengekspor data yang diurutkan menggunakan mongoexport?

  3. Bagaimana cara memvalidasi anggota bidang array?

  4. Sumber sinkronisasi tidak memiliki kesalahan versi kompatibilitas fitur saat menambahkan anggota MongoDB 3.6 ke set replika 3.4

  5. Bagaimana cara mengaktifkan profil di node-mongodb-native?