graphql-go / graphql-go/graphql
MongoDB _id field
- Dominant language
- Go
- Stars
- 10.1k
- Forks
- 845
- PR merge metrics
- No merged PRs in 30d
Description
Hey guys.
It must be silly, but I'm not managing to evolve in this issue of ID fields.
Example:
```
# schema.graphql
type Mutation {
createISP(isp: NewISP!): ISP!
}
type ISP {
ID: ID!
Name: String!
Location: String!
Devices: [Devices]
}
input NewISP {
Name: String!
Location: String!
}
```
```
// isp.resolver.go
type ISP struct {
IDField graphql.ID
NameField string
LocationField string
DevicesField *[]*Device
}
func (i *ISP) ID() graphql.ID {
return i.IDField
}
func (i *ISP) Name() string {
return i.NameField
}
func (i *ISP) Location() string {
return i.LocationField
}
func (r *Resolver) GetISPs() []*ISP {
var results []*ISP
cursor, err := DB.Find(context.Background(), bson.M{})
if err != nil {
return nil
}
if err := cursor.All(context.Background(), &results); err != nil {
return nil
}
return results
}
type NewISP struct {
Name string
Location string
}
func (r *Resolver) CreateISP(args *struct{ Isp NewISP }) *ISP {
// create new
ispId := randomID() // Here I make a fake ID for testing because I couldn't use the id of the mongo object.
isp := &ISP{
IDField: graphql.ID(ispId),
NameField: args.Isp.Name,
LocationField: args.Isp.Location,
}
DB.InsertOne(ctx, isp)
return isp
}
```
- I'm wanting to use _id as an identification field and not need to create a new field for it as I did with IdField

Can you help me with this issue?
Contributor guide
Assessment
This issue has not been assessed yet.