2014-04-02 46 views
0

我想問你是否有方法來確定在使用集合插入新對象時插入是否成功。找出在mgo中使用mgo插入對象的結果

單個操作插入(對象)。

我的意思是,我不想發送另一個查詢到數據庫,以確定是否有記錄。我需要一個單一的原子操作(insert -> result (isSuccessful) - 僞代碼)。

回答

1

Insert方法返回一個表示它成功或失敗的錯誤對象。您需要首先設置會話的安全模式以啓用此行爲。

session.SetSafe(&mgo.Safe{}) // <-- first set safe mode! 
c := session.DB("test").C("people") 
err = c.Insert(&Person{"Ale", "+55 53 8116 9639"}) 
if err != nil { // <-- then check error after insert! 
    fmt.Printf("There was an error: %v", err) 
} else { 
    fmt.Print("Success!") 
}