2011-10-23 22 views

cevap

14

Her şeyden önce, böyle bir soru sorduğunuzda, neden başarısız olduğuna dair bilgi eklemek çok yararlı olacaktır (örn. Hatayı kopyalayın).

$ operatörlerini belge geçersiz kılmalarıyla karıştırdığınız için sorgunuz başarısız oluyor. user_id için $ set operatörünü ve metin alanlarını da kullanmalısınız (güncellemenizdeki user_id bölümünün bu örnekte alakasız olmasına rağmen).

Yani bu sorguyu pymongo dönüştürmek: Bu gerekli değildir, çünkü

db.test.update({user_id:1}, 
    {$set:{text:"Lorem ipsum", updated:new Date()}, $inc:{count:1}}, 
    true, 
    false) 

ben güncellemede user_id kaldırdık. Belge varsa, bu değer zaten 1 olacaktır. Eğer mevcut değilse, yükseltme işlemi güncellemenizin sorgu bölümünü yeni belgeye kopyalayacaktır.

İlgili konular