DBAtlas · Veritabanı operasyon atlası

66: ImmutableField (cannot update _id)

MongoDB

Ne demek?

Değiştirilemez (immutable) bir alan, özellikle belgenin _id alanı güncellenmeye çalışıldı. _id belge oluşturulduktan sonra değiştirilemez.

Neden olur?

Update işleminde _id alanının değiştirilmeye çalışılması, shard key alanının izin verilmeyen biçimde güncellenmesi veya değişmez kabul edilen bir alanın yeni değerle set edilmesi.

Nasıl çözülür?

_id değerini güncellemeyin; farklı bir _id gerekiyorsa belgeyi yeni _id ile ekleyip eskisini silin (insert + delete). Shard key güncellemelerinde MongoDB kurallarına uyun. Güncelleme belgesinden değişmez alanları çıkarın ve yalnızca değiştirilebilir alanları set edin.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar