Comments (1)
The library does not provide any way to describe relationships, nor will it make any guesswork to try and retrieve the related objects for you. However, it does not impede you from extending your type with a field to perform such a query.
A naive implementation of a book type that could be added to the express example to play with:
const BookType = new GraphQLObjectType({
name: 'BookType',
fields: () => ({
name: { type: GraphQLString },
pages: { type: GraphQLInt },
authorId: { type: GraphQLID },
author: {
type: PersonType,
resolve: async (obj, args, { db }: { db: Db }, info) => {
if (!obj.authorId) return null;
const projection = getMongoDbProjection(info, PersonType);
return await db.collection("people").findOne({ _id: new ObjectId(obj.authorId) }, { projection })
},
dependencies: ['authorId']
}
})
});
Note that you can still use the library to get an exact projection. I imagine a more mature solution will use a batching solution to ensure minimal DB queries.
There isn't a place to ask these kinds of questions at present besides here.
from graphql-to-mongodb.
Related Issues (20)
- GraphQL schema generation failed when using Union type HOT 8
- Example usage of OR and AND? HOT 2
- How to use mutations? HOT 4
- Please please please create an example with Apollo. Please! HOT 1
- FilterType no load fields on models HOT 1
- Cannot read property 'resolve' of undefined.
- Typo in README.md with request for clarification HOT 1
- How to use it with type-graphql HOT 1
- How to ingrate this with a .graphql schema file? HOT 2
- How to incorporate into NestJS? HOT 3
- Handling ObjectId in filter HOT 4
- Mongo DateTime fields. HOT 1
- Warning Field TradeId of type t_TradeType has a resolve function and no dependencies HOT 2
- build error mongoDbFilter.ts HOT 1
- Add exist | not exist to leaf types
- Is there a contains/like string filter? HOT 2
- Is this support for mongoose and schema definition language(SDL)
- Caching issue HOT 1
- New directive syntax example
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 graphql-to-mongodb.