MongoDB'de db.collection.updateOne() nedir?

Mongodb De Db Collection Updateone Nedir



MongoDB, birden çok belgeyi depolayabilen güçlü, ilişkisel olmayan bir veritabanıdır. Bazen kullanıcının belirli kriterleri karşılayan tek bir belgeyi güncellemesi gerekebilir. Bu durumda, “” kullanabilirler. db.collection.updateOne() ” seçim kriterlerini karşılayan ve değiştiren ilk belgeyi güncelleyen ve değiştiren yöntem.

MongoDB'deki “db.collection.updateOne()” Yöntemi nedir?

db.collection.updateOne() ” yöntemi, tanımlanan ölçütlerle eşleşen tek bir belgeyi günceller. Kriterlere birden fazla belge uyuyorsa, yalnızca ilk belge değiştirilecektir. “ gibi Güncelleme Operatörleri ile birlikte kullanılabilir. $set ”, “ $inc ' Ve çok daha fazlası .

MongoDB'de “db.collection.updateOne()” Yöntemi Nasıl Kullanılır?

db.collection.updateOne() ” yöntemi, seçim kriterleriyle eşleşen tek bir belgenin birden çok alanını ve tek bir alanı güncellemek için kullanılabilir. Ayrıca, bu yöntem bir belgeye alan da ekleyebilir ve güncelleme operatörleri ile birlikte kullanılabilir. “ sözdizimi db.collection.updateOne() ” yöntemi aşağıda verilmiştir:







Temel Sözdizimi



db.collection.updateOne ( { filtre_kriteri } , { güncelleme } , { seçenekler } )

Burada yukarıdaki sözdiziminde:



  • Bu yöntem, seçim kriterlerini karşılayan ilk belgeyi güncelleyecektir.
  • filtre_kriteri ” güncelleme için kriterleri tanımlar
  • güncelleme ” belgede değiştirilecek alanları içerir
  • seçenekler ” bağımsız değişkeni, bu yöntemin çalışmasını değiştiren isteğe bağlı bir bağımsız değişkendir, örneğin ' yükseltmek ' Ve ' ipucu

Bu yazı için bir “ kullanacağız Linuxhint_Col2 ' koleksiyonun çalıştığını gösteren belgeler ' db.collection.updateOne() ' yöntem. Bu koleksiyonda depolanan belgeleri görüntülemek için sağlanan komutu yürütün:





db.Linuxhint_Col2.find ( )

Çıktı

Çıktı, “ klasöründe depolanan tüm belgeleri aldı. Linuxhint_Col2 ' Toplamak.



Örnek 1: Tek Bir Alanı Güncelleyin
Bir belgedeki tek alanı güncellemek için seçim kriterlerini tanımlayın ve kriterleri güncelleyin. Güncelleme kriterleri, güncelleme işleçleri kullanılarak tanımlanabilir. “ güncellemek için bir sorgu çalıştıralım. Modelleme_Ücreti ” alanı “ 18000 ' nerede ' Soy isim ' nesne eşittir ' Depp ” belgede:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.Last_Name' : 'Depp' } , { $set : { Modelleme_Ücreti: 18000 } } )

Çıktı

Çıktı, başarı mesajını döndürdü.

Yapılan değişiklikleri doğrulamak için, etkilenen belgeyi bu “ bulmak() ' emretmek:

db.Linuxhint_Col2.find ( { 'Model_Name.Last_Name' : 'Depp' } )

Çıktı

Çıktı, belgenin başarıyla güncellendiğini doğruladı.

Örnek 2: “db.collection.updateOne()” Yöntemini Kullanarak Yeni Bir Alan Ekleyin
db.collection.updateOne() ” yöntemi, “ kullanarak yeni bir alan ekler. $set ” operatörü zaten yoksa belgede. “ olarak Deneyim ' işaretinin bulunduğu belgeler için ' alanı yoktur. Modelleme_Ücreti ' daha az ' 9000 ”.

Yeni alanı ekleyelim ' Deneyim 'değeri ile' Acemi ” belgede yer alan “ Modelleme_Ücreti ' daha az ' 9000 ” bu sorguyu kullanarak:

db.Linuxhint_Col2.updateOne ( { 'Modelleme_Ücreti' : { lt $ : 9000 } } , { $set : { 'Deneyim' : 'Acemi' } } )

Çıktı

Çıktı, bir belgenin seçim ölçütleriyle eşleştiğini ve başarıyla değiştirildiğini gösteren mesajı döndürür.

Koleksiyonda bulunan tüm belgeleri alarak bunu doğrulayalım” Linuxhint_Col2 ”:

db.Linuxhint_Col2.find ( )

Çıktı

Çıktı, koşulu karşılayan bir belgenin değiştirildiğini ve yeni bir alanın başarıyla eklendiğini gösterir.

Örnek 3: “db.collection.updateOne()” Yöntemini Kullanarak Bir Belgenin Birden Çok Alanını Güncelleyin
Kullanıcı, tek bir belgede bile birden çok alanı değiştirebilir. İşte aşağıda verilen bu sorgu, “” olduğu belgenin soyadını ve yaşını değiştirecektir. İlk adı ' eşittir ' Nuh “:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Nuh' } , { $set : { 'Model_Name.Last_Name' : 'doe' , 'Model_Yaş' : 23 } } )

Çıktı

Sorgu hatasız yürütüldü.

Değişiklikleri doğrulamak için, 'find()' yöntemini kullanarak '' öğesinin bulunduğu belgeyi alın. İlk adı ' eşittir ' Nuh :

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'Nuh' } )

Çıktı

Çıktı, değiştirilen belgeyi başarıyla döndürdü.

Örnek 4: Güncelleme Operatörleri ile “db.collection.updateOne()” Yöntemini kullanın
Önceki örnekte olduğu gibi, “ $set ' içindeki değerleri değiştirmek için ' güncelleme operatörü ' db.collection.updateOne() ' yöntem. Başka bir güncelleme operatörü kullanmayı deneyelim ' $inc ”, alanı belirtilen miktarda artırır.

Burada, aşağıda verilen sorguda, yöntem, ' İlk adı ' eşittir ' Kate ” ve “ ekler 1000 ' içinde ' Modelleme_Ücreti ” alanının değeri:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Kate' } , { $inc : { Modelleme_Ücreti: 1000 } } )

Çıktı

Çıktı bir başarı mesajı döndürdü.

Değişiklikleri görmek için “ bulmak() ” etkilenen belgeyi alma yöntemi:

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'Kate' } )

Çıktı

Çıktı, ''nin değiştirilmiş değerini gösterir. Modelleme_Ücreti ”.

Örnek 5: “upsert” Argümanı Kullanılarak Halihazırda Mevcut Değilse Yeni Bir Belge Ekleyin
İsteğe bağlı bağımsız değişken, bu yöntemin davranışını değiştirmek için kullanılabilir. Böyle bir seçenek “ yükseltmek ' sorguda tanımlanan seçim kriterlerini karşılayan mevcut bir belge yoksa yeni bir belge ekler.

Mevcut hiçbir belgeyi karşılamayan seçim kriterlerini tanımlayarak yeni bir belge eklemeye çalışalım. Bundan sonra, bunun için bazı alanlar ayarlayın ve “ seçeneğini ekleyin. yükseltmek ” aşağıda verilen komutta gösterildiği gibi “true” olarak:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Davut' } , { $set : { Modelleme_Ücreti: 10000 ,  Model_Yaşı: 23 , 'Model_Name.Last_Name' : 'Smith' } } , { ek: doğru } )

Çıktı

Çıktı, onaylanan mesajın doğru olduğunu gösterdi.

Son olarak, bu komutu çalıştırarak değişikliğini doğrulayın:

db.Linuxhint_Col2.find ( { 'Model_Adı.First_Name' : 'Davut' } )

Çıktı

Çıktı, yeni belgenin başarıyla eklendiğini gösteriyordu.

Çözüm

db.collection.updateOne() Seçim kriterlerini karşılayan ilk belgeyi güncellemek için MongoDB'de ” yöntemi kullanılır. '' gibi güncelleme işleçlerini kullanarak bir belgedeki tek bir alanın yanı sıra birden çok alanı değiştirebilir. $set ' Ve ' $inc ”. Ayrıca bu yöntem, yöntemin davranışını değiştirmek için ' gibi isteğe bağlı bağımsız değişkenleri de kabul eder. yükseltmek seçim kriterlerinin mevcut herhangi bir belgeyle eşleşmemesi durumunda yeni bir belge ekler. Bu gönderi, “ db.collection.updateOne() ” yöntemi MongoDB'de.