一尘不染

使用gopkg.in/mgo.v2检查mongo中对象的存在

go

我正在寻找一种方便的方法来检查对象是否已经存在于集合中。目前,我发现的唯一方法是

type result interface{}
var res result

err := col.Find(bson.M{"title": "title1"}).One(&res)
if err != nil {
    if err.Error() == "not found" {
        log.Println("No such document")
    } else {
        log.Println("err occured", err)
    }
}

我不想创建变量res,以防万一对象存在,它可能是非常繁重的文档,包含很多字段。我希望会有另一种方式,一些Check()函数将仅返回bool值。基本上,我只需要知道对象已经存储在collection中,就不需要它自己


阅读 342

收藏
2020-07-02

共1个答案

一尘不染

您必须使用$ exists

语法:{栏位:{$ exists:}}

更多细节

http://docs.mongodb.org/manual/reference/operator/query/exists/

2020-07-02