Comments (11)
What did I just read... @nodkz
PS. I hate tests ;) and it difficult for me to write them. So if somebody add tests for my changes, it will be cool. Thanks!
from graffiti-mongoose.
Here is the hack I'm using to add subdocuments after I get the types back from graffiti-mongoose.
import ObjectID from 'bson-objectid';
import {
GraphQLList,
} from 'graphql'
export default {
plural: (model, type) => {
return {
type: new GraphQLList(type),
resolve: (modelInstance, params, source, fieldASTs) => {
let ids = modelInstance[fieldASTs.name.value].map(ObjectID);
return model.find({ _id: { '$in': ids } });
}
}
},
singular: (model, type) => {
return {
type: type,
resolve: (modelInstance, params, source, fieldASTs) => {
return model.findOne({
_id: ObjectID(modelInstance[fieldASTs.name.value])
})
}
}
}
}
In case it helps whomever is implementing this.
from graffiti-mongoose.
@brysgo thanks, but I mean under subdocument when it is:
var childSchema = new Schema({ name: 'string' });
var parentSchema = new Schema({
children: [childSchema]
})
For Array of ObjectId references graffiti
works, like this:
var personSchema = Schema({
_id : Number,
name : String,
age : Number,
stories : [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});
var storySchema = Schema({
_creator : { type: Number, ref: 'Person' },
title : String,
fans : [{ type: Number, ref: 'Person' }]
});
var Story = mongoose.model('Story', storySchema);
var Person = mongoose.model('Person', personSchema);
from graffiti-mongoose.
I guess I misunderstood. I was unable to query through an objectid reference before. Is that supported? Where can I find an example?
from graffiti-mongoose.
@brysgo https://github.com/RisingStack/graffiti-example but I just realised that it's only array of refs. Simple ref is missing, I'm going to do during this weekend.
from graffiti-mongoose.
Thanks!
from graffiti-mongoose.
@brysgo done. ObjectID support with reference is finished and released as v1.6.0
.
from graffiti-mongoose.
+1 for support for sub document and object type
from graffiti-mongoose.
Hey, first thanks for this report.
Do you have any update of this issue?
from graffiti-mongoose.
FWIW I think this is fixed in c473304
from graffiti-mongoose.
Supporting EmbeddedSchema
s, Enum
, InputObjectType
in mutations:
see #104
Just wait when PR was accepted, or fork my branch https://github.com/nodkz/graffiti-mongoose
PS. I hate tests ;) and it difficult for me to write them. So if somebody add tests for my changes, it will be cool. Thanks!
from graffiti-mongoose.
Related Issues (20)
- Implicit dependency on babel-polyfill HOT 9
- Cannot set currently-valued fields to null in update mutation HOT 2
- How to make a custom field: id? HOT 10
- "TypeError: Cannot read property 'forEach' of undefined" when embedded object field is a reference HOT 6
- Custom query thunk - accepts only InputObject types HOT 3
- Question on customQueries HOT 7
- Example project doesnt work with [email protected] and [email protected] HOT 1
- Async hook support HOT 2
- How to use Express Middleware for Authentication/Authorization. HOT 4
- Get specific field validation error?
- How to mutate nested Schema? HOT 3
- What is different between id and _id HOT 1
- UNMET PEER DEPENDENCY HOT 1
- Maintainer Volunteer Thread HOT 1
- Mongoose ObjectId and GraphQL id is not the same. How to link them? HOT 5
- It is possible to add some description to schema and to be reflected in the docs?
- Does graffiti-mongoose works with react-apollo ? HOT 2
- Custom mutations?
- Custom queries/mutations HOT 1
- setTypeFields bug
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from graffiti-mongoose.