本文介绍了使用gopkg.in/mgo.v2检查mongo中的对象是否存在的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

pre code> type结果界面
var res结果

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

我不想创建变量res,如果对象存在,它可以是非常繁重的文件与很多领域。
我希望会有另一种方式,一些Check()函数,它将返回bool值..
基本上我只需要知道该对象已经存储在集合中,我不需要它自己

解决方案

您必须使用$ exists



语法:{field:{$ exists :}}



更多详情



感谢,
Rohit


I am looking for convinient way to check if object already exists in collection. For now the only way that i have found is

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)
    }
}

I dont want to create variable res, in case if object exists, it can be very heavy document with a lot of fields.I wish there would be another way, some Check() function which will just return bool value.. Basically I only need to know that object already stored in collection, I dont need itself

解决方案

you have to use $exists

Syntax: { field: { $exists: } }

For more details

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

Thanks,Rohit

这篇关于使用gopkg.in/mgo.v2检查mongo中的对象是否存在的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-24 12:42