$convert - Amazon DocumentDB

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

$convert

Baru dari versi 4.0

$convertOperator di Amazon DocumentDB digunakan untuk mengonversi nilai dari satu tipe data ke tipe data lainnya. Operator ini berguna ketika Anda perlu melakukan operasi pada data dari berbagai jenis, seperti mengubah string ke angka atau tanggal ke stempel waktu.

Parameter

  • to: Tipe data target untuk mengonversi nilainya menjadi. Nilai yang didukung adalah "string", "double", "long", "int", "date", dan "boolean".

  • from: Tipe data saat ini dari nilai. Jika tidak ditentukan, Amazon DocumentDB akan mencoba mendeteksi tipe data secara otomatis.

  • onError: (opsional) Nilai yang akan dikembalikan jika konversi gagal. Dapat berupa nilai tertentu atau salah satu dari nilai khusus berikut:"null","zerofill", atau"error".

  • onNull: (opsional) Nilai untuk kembali jika nilai masukannull. Dapat berupa nilai tertentu atau salah satu dari nilai khusus berikut:"null","zerofill", atau"error".

Contoh (MongoDB Shell)

Contoh berikut menunjukkan konversi nilai string ke tanggal menggunakan operator. $convert

Buat dokumen sampel

db.users.insertMany([ { _id: 1, name: "John Doe", joinedOn: "2022-01-01" }, { _id: 2, name: "Jane Smith", joinedOn: "2023-02-15" }, { _id: 3, name: "Bob Johnson", joinedOn: "invalid date" } ]);

Contoh kueri

db.users.aggregate([ { $project: { _id: 1, name: 1, joinedOn: { $convert: { input: "$joinedOn", to: "date", onError: "null", onNull: "null" } } } } ])

Keluaran

[ { "_id" : 1, "name" : "John Doe", "joinedOn" : ISODate("2022-01-01T00:00:00Z") }, { "_id" : 2, "name" : "Jane Smith", "joinedOn" : ISODate("2023-02-15T00:00:00Z") }, { "_id" : 3, "name" : "Bob Johnson", "joinedOn" : null } ]

Contoh kode

Untuk melihat contoh kode untuk menggunakan $convert perintah, pilih tab untuk bahasa yang ingin Anda gunakan:

Node.js
const { MongoClient } = require("mongodb"); async function example() { const client = await MongoClient.connect("mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false"); const db = client.db("test"); const users = db.collection("users"); const results = await users.aggregate([ { $project: { _id: 1, name: 1, joinedOn: { $convert: { input: "$joinedOn", to: "date", onError: "null", onNull: "null" } } } } ]).toArray(); console.log(results); client.close(); } example();
Python
from pymongo import MongoClient def example(): client = MongoClient("mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false") db = client["test"] users = db["users"] results = list(users.aggregate([ { "$project": { "_id": 1, "name": 1, "joinedOn": { "$convert": { "input": "$joinedOn", "to": "date", "onError": "null", "onNull": "null" } } } } ])) print(results) client.close() example()