2016-04-02 66 views
1

我在保存mongo db更新數據期間出現此錯誤。 這是錯誤:mongo db更新數據期間出錯

保存只能用於具有Id的文檔。

這是我的模型:

public ModelKorisici() { } 



    [BsonId(IdGenerator = typeof(CombGuidGenerator))] // posajvljivaa se greška kod BSON tipa podataka kod ID-a,preuzoteo s dokumentacije drivera 1.5 
    public Guid Id { get; set; } 

    [BsonElement("ime")] 
    public string ime { get; set; } 


    [BsonElement("prezime")] 
    public string prezime { get; set; } 


    [BsonElement("lozinka")] 
    public string lozinka { get; set; } 


    [BsonElement("email")] 
    public string email { get; set; } 

    [BsonElement("kor_ime")] 
    public string kor_ime { get; set; } 

    [BsonElement("uloga")] 
    public string uloga { get; set; } 
} 

我的更新代碼是在這裏:

public void urediKorisnika(ModelKorisici korisnik) 
    { 
     MongoCollection<ModelKorisici> kljenti = GetTasksCollection(); 
     kljenti.Save(kljenti); 
    } 

誰能幫助?

回答

0

我不知道你有什麼做的,但你的錯誤是在下面的代碼塊

public void urediKorisnika(ModelKorisici korisnik) 
{ 
    MongoCollection<ModelKorisici> kljenti = GetTasksCollection(); 
    kljenti.Save(kljenti); 
} 

這裏是你想存儲collection本身。我相信GetTasksCollection()從MongoDB返回collection,然後您試圖再次將其存儲到自身中。看到kljenti.Save(kljenti);

你需要的ModelKorisici創建實例,並將其保存到kljenti

你的代碼應該是這個樣子:

public void urediKorisnika(ModelKorisici korisnik) 
{ 
    MongoCollection<ModelKorisici> kljenti = GetTasksCollection(); 

    var model = new ModelKorisici(); 
    model.ime = ... 
    ... 

    kljenti.Save(model); 
} 
+0

當我這樣做你的代碼,我插入與_id一個新的對象,並其他屬性爲空 –

+0

這很明顯。你必須填寫你的物業。在我的代碼中'''意味着完成其餘的初始化。底線是,你不會再犯錯誤了。 – Saleem