Connect ke sumber data MongoDB - Amazon Managed Grafana

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Connect ke sumber data MongoDB

Sumber Data MongoDB memungkinkan Anda memvisualisasikan data dari MongoDB di Amazon Managed Grafana.

catatan

Sumber data ini hanya untuk Grafana Enterprise. Untuk informasi selengkapnya, lihat Kelola akses ke plugin Enterprise.

Selain itu, di ruang kerja yang mendukung versi 9 atau yang lebih baru, sumber data ini mungkin mengharuskan Anda untuk menginstal plugin yang sesuai. Untuk informasi selengkapnya, lihat Perluas ruang kerja Anda dengan plugin.

Penggunaan

Editor kueri

Editor kueri mendukung sintaks yang sama dengan MongoDB Shell, dengan beberapa batasan: * Anda hanya dapat menjalankan satu perintah/kueri. * Hanya perintah baca yang didukung: temukan dan agregat * Sebagian besar konstruktor Objek tidak didukung (dengan pengecualian IsoDate, yang didukung)

Editor memperluas sintaks MongoDB Shell dengan cara berikut:

  • Pemilihan database - Anda dapat memberikan nama database menggantikan “db” normal:

    catatan

    Anda masih dapat menggunakan “db”. Ini akan merujuk ke database default dalam string koneksi Anda.

    sample_mflix.movies.find()
  • Penyortiran agregat — Biasanya penyortiran terjadi dengan langkah dalam pipeline agregat, namun tingkat gratis MongoDB Atlas tidak mengizinkan penyortiran. Kami telah memperluas sintaks untuk memungkinkannya bagi mereka yang menggunakan tingkat gratis.

    catatan

    MongoDB tidak melakukan pengurutan dengan sintaks ini. Pengurutan terjadi setelah hasil ditanyakan dari koleksi.

    sample_mflix.movies.aggregate({}).sort({"time": 1})
  • Dengan editor kosong, Ctrl+Space akan menampilkan pilihan semua database yang tersedia.

  • Memasukkan titik setelah database akan menampilkan pilihan semua koleksi yang tersedia untuk database tersebut.

  • Memasukkan titik setelah koleksi akan menampilkan metode kueri yang tersedia.

  • Memasukkan titik setelah metode query akan menampilkan fungsi tambahan: sort/limit.

Menjalankan kueri

Tekan Cmd + S untuk menjalankan kueri

Seri waktu

Saat memvisualisasikan data deret waktu, plugin perlu mengetahui bidang mana yang akan digunakan sebagai waktu. Cukup proyeksikan bidang dengan nama alias “waktu”. Tipe data bidang harus berupa tanggal.

Anda dapat memaksa tipe data non-tanggal hingga saat ini. Melakukannya akan memungkinkan penggunaan bidang non-tanggal sebagai deret waktu. Contoh berikut menunjukkan cara mengonversi bidang int “tahun” ke tanggal yang diproyeksikan sebagai “waktu” menggunakan operator pipa MongoDB $dateFromParts .

sample_mflix.movies.aggregate([ {"$match": { "year": {"$gt" : 2000} }}, {"$group": { "_id": "$year", "count": { "$sum": 1 }}}, {"$project": { "_id": 0, "count": 1, "time": { "$dateFromParts": {"year": "$_id", "month": 2}}}} ] ).sort({"time": 1})

Diagnostik

Perintah Diagnostik

Perintah diagnostik berikut saat ini didukung: “stats”, “ServerStatus”, "Status”, “getLog”, replSetGet "“, “ConnectionStatus”, “BuildInfo”, connPoolStats “dBStats”, “HostInfo”, “LockInfo”

Contoh:

admin.connectionStatus() // run the connectionStatus command admin.connectionStatus({"authInfo.authenticatedUserRoles": 1}) // run and only return the "authInfo.authenticatedUserRoles" field admin.connPoolStats({arg: "pool"}) // run the connPoolStats command and pass 1 argument admin.serverStatus({args: {repl: 0, metrics:0}}) // run the serverStatus command and pass multiple args

Makro

Anda dapat mereferensikan rentang waktu dasbor dalam kueri Anda.

  • $__timeFrom — makro yang mereferensikan waktu mulai dasbor

  • $__timeTo — makro yang mereferensikan waktu akhir dasbor

$__timeTo - ``` sample_mflix.movies.find({released: {$gt: "$__timeFrom"}}).sort({year: 1})

Variabel template

MongoDB mendukung gagasan “Variabel Senyawa”, yang memungkinkan Anda menggunakan satu variabel sebagai beberapa variabel untuk melakukan filter multi-kunci yang kompleks.

Untuk membuat Variabel Senyawa, gunakan konvensi penamaan untuk memecah variabel dengan menggunakan garis bawah (harus dimulai dengan garis bawah): _var1_var2 Saat menanyakan, respons harus dalam format: val1-val2

Contoh: Saya ingin memfilter hasil pada nama film dan tahun.
  1. Buat variabel tipe Query: _movie_year

  2. Atur kueri variabel ke kueri yang akan mengembalikan array item dengan satu properti film tahun, seperti yang ditunjukkan pada contoh berikut.

    // Example sample_mflix.movies.aggregate([ {"$match": {year: {"$gt": 2011}}}, {"$project": {_id: 0, movie_year: {"$concat": ["$title", " - ", {"$toString":"$year"}]}}} ])
    // [{"movie-year": "Ted - 2016"}, {"movie-year": "The Terminator - 1985"}]
  3. Sekarang dalam kueri Anda, Anda dapat mereferensikan “Film” dan “Tahun” sebagai variabel template terpisah menggunakan sintaks “$_variable”.

Menggunakan filter ad-hoc

Selain variabel tipe “ad-hoc filter” standar dari nama apa pun, variabel pembantu kedua harus dibuat. Ini harus berupa tipe “konstan” dengan nama `mongodb_adhoc_query` dan nilai yang kompatibel dengan editor kueri. Hasil kueri akan digunakan untuk mengisi filter yang dapat dipilih. Anda dapat memilih untuk menyembunyikan variabel ini dari tampilan karena tidak memiliki tujuan lebih lanjut.

sample_mflix.movies.aggregate([ {"$group": { "_id": "$year"}}, {"$project": { "year": "$_id","_id": 0 }} ] )