在Go中找出使用mgo插入对象的结果

时间:2014-04-02 07:52:31

标签: mongodb go insert mgo

我想问你是否有办法在使用集合插入新对象时找出插入是否成功。

单次操作插入(对象)。

我的意思是,我不想向数据库发送另一个查询以查明是否有记录。我需要一个单独的原子操作(insert -> result (isSuccessful) - 伪代码)。

1 个答案:

答案 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!")
}