golang的mongodb操作(mgo)
发布时间:2020-12-16 19:25:38 所属栏目:大数据 来源:网络整理
导读:使用mgohttp://godoc.org/labix.org/v2/mgo packagemainimport("fmt""labix.org/v2/mgo""labix.org/v2/mgo/bson")typePersonstruct{NAMEstringPHONEstring}typeMenstruct{Persons[]Person}const=(URL="192.168.2.175:27017")funcmain(){session,err:=mgo.Dia
使用mgohttp://godoc.org/labix.org/v2/mgo packagemain import( "fmt" "labix.org/v2/mgo" "labix.org/v2/mgo/bson" ) typePersonstruct{ NAMEstring PHONEstring } typeMenstruct{ Persons[]Person } const=( URL="192.168.2.175:27017" ) funcmain(){ session,err:=mgo.Dial(URL)//连接数据库 iferr!=nil{ panic(err) } defersession.Close() session.SetMode(mgo.Monotonic,true) db:=session.DB("mydb") //数据库名称 collection:=db.C("person")//如果该集合已经存在的话,则直接返回 //*****集合中元素数目******** countNum,err:=collection.Count() iferr!=nil{ panic(err) } fmt.Println("Thingsobjectscount:",countNum) //*******插入元素******* temp:=&Person{ PHONE:"18811577546",NAME:"zhangzheHero" } //一次可以插入多个对象插入两个Person对象 err=collection.Insert(&Person{"Ale","+555381169639"},temp) iferr!=nil{ panic(err) } //*****查询单条数据******* result:=Person{} err=collection.Find(bson.M{"phone":"456"}).One(&result) fmt.Println("Phone:",result.NAME,result.PHONE) //*****查询多条数据******* varpersonAllMen//存放结果 iter:=collection.Find(nil).Iter() foriter.Next(&result){ fmt.Printf("Result:%vn",result.NAME) personAll.Persons=append(personAll.Persons,result) } //*******更新数据********** err=collection.Update(bson.M{"name":"ccc"},bson.M{"$set":bson.M{"name":"ddd"}}) err=collection.Update(bson.M{"name":"ddd"},bson.M{"$set":bson.M{"phone":"12345678"}}) err=collection.Update(bson.M{"name":"aaa"},bson.M{"phone":"1245","name":"bbb"}) //******删除数据************ _,err=collection.RemoveAll(bson.M{"name":"Ale”}) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |