我想问你是否有办法在使用集合插入新对象时找出插入是否成功。
单次操作插入(对象)。
我的意思是,我不想向数据库发送另一个查询以查明是否有记录。我需要一个单独的原子操作(insert -> result (isSuccessful)
- 伪代码)。
答案 0 :(得分: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!")
}