Saya ingin melihat di MongoDB Compass dokumen N terakhir dalam koleksi yang sangat besar; terlalu banyak untuk digulir.

Saya bisa .skip(total - N) jika saya tahu sintaks untuk itu di dalam Kompas.

Atau, saya memiliki bidang tanggal dan dapat menggunakan $gte dengan tanggal jika saya tahu cara mengekspresikan tanggal dengan cara yang dapat diterima Kompas.

Saran/contoh bagaimana melakukan ini, tolong?

8
koan911 13 Maret 2017, 11:05

2 jawaban

Jawaban Terbaik

Kompas MongoDB 1.6.1(Stabil)

Untuk perbandingan tanggal, Anda perlu menggunakan operator $date dengan string yang mewakili tanggal dalam format tanggal ISO-8601.

{"date": {"$gte": {"$date": "2017-03-13T09:51:26.317Z"}}}

Dalam kasus saya, nilai bidang date di Compass dan mongo Shell berbeda. Jadi pertama-tama saya menanyakan dokumen di shell dan kemudian menyalin "2017-03-13T09:51:26.317Z" dari hasilnya ke baris filter Kompas. Dalam shell mongo itu terlihat seperti:

{
    ...
    "date" : ISODate("2017-03-13T09:51:26.317Z"), 
    ...
}

Kompas MongoDB 1.7.0-beta.0 (Beta)

Versi ini memiliki bilah kueri lanjutan yang memungkinkan Anda memasukkan tidak hanya filter (seperti sebelumnya), tetapi juga memproyeksikan, mengurutkan, melewati, dan membatasi masukkan deskripsi gambar di sini

Oleks 13 Maret 2017, 11:11

(@Oleksandr Saya belajar dari jawaban efektif Anda; terima kasih.)

Saya juga telah diperlihatkan bahwa tab Skema Kompas memungkinkan seseorang untuk menyeret rentang tanggal pada bidang _id untuk menerapkan kueri filter untuk rentang itu. Kisaran itu dapat dipersempit secara berurutan sesuai keinginan.

enter image description here

2
koan911 14 Maret 2017, 01:11