2012-04-08 11 views

cevap

5

Bu soruyu mongodb kullanıcı grubunda sordum, cevap mümkün değildi ve bu açık bir issue.

+4

Bu sorun MongoDB 2.4'te kapatıldı ve artık ['$ setOnInsert'] kullanabilirsiniz (http://docs.mongodb.org/manual/reference/operator/setOnInsert /). – str

14

Update komutunda upsert option'u arıyorsunuz. Dokümanlar burada yeterli olmalı.

+0

Örnek verir misiniz? Çok sayıda seçenek kombinasyonunu denedim, ancak eklemeye ayarlanacak bir alan seçemiyorum, ancak güncelleme dışında bırakılamıyorum. –

+0

sadece ilk eklemeye ayarlanmayı sevdiğim ama güncellemelere dokunulmadan kaldığım bir alan var. –

+0

"Güncelleme" kısmının bir parçası yerine "Y" sorusunun "Sorgu" kısmının bir bölümünü yapmalısınız. –

1

$setOnInsert

itibaren ben yerine "Tablom" nin "myCollection" çağırır. Sen aşağıdakileri yapabilirsiniz:
db.mycollection.update(
    { MyUniqueKey: "?" }, 
    { 
     $set: {"y": "?"}, 
     $setOnInsert: { 
      MyUniqueKey: "?", 
      "x": "?", 
    }, 
    { upsert: true } 
) 

Temelde $ seti belge yok dışında, her zaman çalışır. Ardından $ setOnInsert çalışır.

İlgili konular