FAQ
I'm trying to get getObj() function will be more general and could work
with any type, not only User like in my code. I was thinking in return a
interface instead a defined struct, but I can't fit this idea to my code,
please could someone give me a hand with this?
Thanks in advance

type User struct {
     FirstName string `bson:"first_name"`
     LastName string `bson:"last_name"`}

type Mbase struct {
     coll *mgo.Collection
     sess *mgo.Session}

func (b *Mbase) getObj(attr string, val string) (res *User, err error) {
     err = b.coll.Find(bson.M{attr: val}).One(&res)
     if err != nil {
         return
     }
     err = nil
     return}

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Search Discussions

  • Gustavo Niemeyer at Aug 21, 2014 at 4:43 pm

    On Thu, Aug 21, 2014 at 1:33 PM, Juan Espinoza wrote:
    I'm trying to get getObj() function will be more general and could work with
    any type, not only User like in my code. I was thinking in return a (...)
    func (b *Mbase) getObj(attr string, val string) (res *User, err error) {
    err = b.coll.Find(bson.M{attr: val}).One(&res)
    func (b *Mbase) GetObj(attr string, val string, result interface{}) error {
         return b.coll.Find(bson.M{attr: val}).One(result)
    }

    Doesn't feel like the helper is doing much good, though. Find+One
    itself is already generic. I'd also consider using bson.D{{attr, val}}
    instead of bson.M if that's all you need.


    gustavo @ http://niemeyer.net

    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
    For more options, visit https://groups.google.com/d/optout.
  • Sam Freiberg at Aug 21, 2014 at 5:10 pm
    Hi Juan,

    I put together a simple package that you might find useful:

    https://github.com/sfreiberg/mongo

    - Sam

    On Thu, Aug 21, 2014 at 9:33 AM, Juan Espinoza wrote:

    I'm trying to get getObj() function will be more general and could work
    with any type, not only User like in my code. I was thinking in return a
    interface instead a defined struct, but I can't fit this idea to my code,
    please could someone give me a hand with this?
    Thanks in advance

    type User struct {
    FirstName string `bson:"first_name"`
    LastName string `bson:"last_name"`}

    type Mbase struct {
    coll *mgo.Collection
    sess *mgo.Session}

    func (b *Mbase) getObj(attr string, val string) (res *User, err error) {
    err = b.coll.Find(bson.M{attr: val}).One(&res)
    if err != nil {
    return
    }
    err = nil
    return}

    --
    You received this message because you are subscribed to the Google Groups
    "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an
    email to [email protected].
    For more options, visit https://groups.google.com/d/optout.


    --
    Sam Freiberg
    + [email protected]
    +- http://www.darkaslight.com/

    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
    For more options, visit https://groups.google.com/d/optout.
  • Juan Espinoza at Aug 21, 2014 at 5:18 pm
    Nice, I'll give a look at this.

    Thanks Sam.

    El jueves, 21 de agosto de 2014 13:10:37 UTC-4, Sam Freiberg escribió:
    Hi Juan,

    I put together a simple package that you might find useful:

    https://github.com/sfreiberg/mongo

    - Sam


    On Thu, Aug 21, 2014 at 9:33 AM, Juan Espinoza <[email protected]
    <javascript:>> wrote:
    I'm trying to get getObj() function will be more general and could work
    with any type, not only User like in my code. I was thinking in return a
    interface instead a defined struct, but I can't fit this idea to my code,
    please could someone give me a hand with this?
    Thanks in advance

    type User struct {
    FirstName string `bson:"first_name"`
    LastName string `bson:"last_name"`}

    type Mbase struct {
    coll *mgo.Collection
    sess *mgo.Session}

    func (b *Mbase) getObj(attr string, val string) (res *User, err error) {
    err = b.coll.Find(bson.M{attr: val}).One(&res)
    if err != nil {
    return
    }
    err = nil
    return}

    --
    You received this message because you are subscribed to the Google Groups
    "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an
    email to [email protected] <javascript:>.
    For more options, visit https://groups.google.com/d/optout.


    --
    Sam Freiberg
    + [email protected] <javascript:>
    +- http://www.darkaslight.com/
    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
    For more options, visit https://groups.google.com/d/optout.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupgolang-nuts @
categoriesgo
postedAug 21, '14 at 4:33p
activeAug 21, '14 at 5:18p
posts4
users3
websitegolang.org

People

Translate

site design / logo © 2023 Grokbase