Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
$setOnInsert
$setOnInsertOperator di Amazon DocumentDB digunakan untuk menetapkan nilai bidang jika dokumen dimasukkan, tetapi tidak berpengaruh jika dokumen sedang diperbarui.
Parameter
-
field: Bidang yang akan diatur. -
value: Nilai yang akan ditetapkan ke bidang.
Contoh (MongoDB Shell)
Contoh berikut menunjukkan penggunaan $setOnInsert operator di Amazon DocumentDB. Ini membuat dokumen baru jika dokumen belum ada, tetapi tidak berpengaruh jika dokumen sedang diperbarui.
Buat dokumen sampel
db.users.insertOne({ _id: 1, name: "John Doe", age: 30 })
Contoh kueri 1 - Perbarui dokumen yang ada
db.users.update( { _id: 1 }, { $set: { age: 31 }, $setOnInsert: { createdAt: new Date() } }, { upsert: true } )
Keluaran 1
{ _id: 1, name: "John Doe", age: 31 }
Output menunjukkan bahwa dokumen telah diperbarui, tetapi createdAt bidang TIDAK ditambahkan karena dokumen sudah ada. $setOnInsertOperator hanya berlaku saat memasukkan dokumen baru.
Contoh kueri 2 - Sisipkan dokumen baru (upsert)
db.users.update( { _id: 2 }, { $set: { name: "Jane Smith", age: 25 }, $setOnInsert: { createdAt: new Date() } }, { upsert: true } )
Keluaran 2
{ _id: 2, name: "Jane Smith", age: 25, createdAt: ISODate("2025-10-31T09:57:52.459Z") } }
Contoh kode
Untuk melihat contoh kode untuk menggunakan $setOnInsert perintah, pilih tab untuk bahasa yang ingin Anda gunakan: