Pertanyaan Jenis Skema mana di Mongoose yang terbaik untuk stempel waktu?


Saya menggunakan Mongoose, MongoDB, dan Node.

Saya ingin mendefinisikan skema di mana salah satu bidangnya adalah tanggal \ timestamp.

Saya ingin menggunakan bidang ini untuk mengembalikan semua catatan yang telah diperbarui dalam 5 menit terakhir.

Karena fakta bahwa di Mongoose saya tidak bisa menggunakan metode Timestamp () saya mengerti bahwa satu-satunya pilihan saya adalah menggunakan metode Javascript berikut:

time : { type: Number, default: (new Date()).getTime() } 

Ini mungkin bukan cara yang paling efisien untuk query DB humongous. Saya akan sangat menghargai jika seseorang dapat berbagi cara yang lebih efisien untuk mengimplementasikan ini.

Apakah ada cara untuk menerapkan ini dengan Mongoose dan dapat menggunakan cap waktu MongoDB?


47
2018-04-04 06:51


asal


Jawaban:


Edit - 20 Maret 2016

Mongoose sekarang mendukung cap waktu untuk koleksi.

Tolong pertimbangkan jawaban dari @bobbyz di bawah ini. Mungkin ini yang Anda cari.

Jawaban asli

Mongoose mendukung Date type (yang pada dasarnya adalah timestamp):

time : { type : Date, default: Date.now }

Dengan definisi bidang di atas, kapan pun Anda menyimpan dokumen dengan tidak disetel time lapangan, Mongoose akan mengisi bidang ini dengan waktu saat ini.

Sumber: http://mongoosejs.com/docs/guide.html


83
2018-04-04 07:06



Versi Mongoose saat ini (v4.x) memiliki time stamping sebagai opsi bawaan untuk skema:

var mySchema = new mongoose.Schema( {name: String}, {timestamps: true} );

Opsi ini menambahkan createdAt dan updatedAt properti yang diberi stempel waktu dengan Date, dan yang semuanya berfungsi untuk Anda. Setiap kali Anda memperbarui dokumen, itu memperbarui updatedAt milik. Skema Timestamps Docs.


61
2017-12-21 15:11



Saya ingin menggunakan bidang ini untuk mengembalikan semua catatan yang telah diperbarui dalam 5 menit terakhir.

Ini berarti Anda perlu memperbarui tanggal ke "sekarang" setiap kali Anda menyimpan objek. Mungkin Anda akan menemukan ini berguna: Plugin yang dimodifikasi menggunakan Moongoose


0
2018-03-12 06:17