आप नीचे दिए गए कोड का उपयोग कर सकते हैं।
स्ट्रिंग क्वेरी ={ article(id:"Dn59y87PGhkJXpaiZ") { _id, सामग्री (भाषा:"en") { सामग्री, टाइमस्टैम्प} }}const ContentType =new GraphQLObjectType({ name:'content', फ़ील्ड :{ सामग्री:{प्रकार:ग्राफ़क्यूएलस्ट्रिंग}, टाइमस्टैम्प:{प्रकार:ग्राफ़क्लिंट}}}) कॉन्स्ट आर्टिकल टाइप =नया ग्राफक्यूएलऑब्जेक्ट टाइप ({नाम:'आलेख', फ़ील्ड:{_आईडी:{टाइप:ग्राफक्यूएलआईडी}, सामग्री:{टाइप:नया GraphQLList (ContentType), args:{भाषा:{नाम:'भाषा', प्रकार:नया GraphQLNonNull (ग्राफक्यूएलस्ट्रिंग)}}, async संकल्प (args) {वापसी फ़िल्टर सामग्री यहां लैंग द्वारा}}}}}}) निर्यात डिफ़ॉल्ट नया GraphQLSchema ( { क्वेरी:नया ग्राफ़क्यूएलऑब्जेक्ट टाइप ({नाम:'रूटक्वेरी टाइप', फ़ील्ड:{लेख:{प्रकार:नया ग्राफक्यूलिस्ट (आलेख प्रकार), विवरण:'लेख डेटासेट की सामग्री', तर्क:{आईडी:{नाम:'आईडी', प्रकार:नया ग्राफQLNonNull(GraphQLID) } }, async संकल्प ({ db }, args) { वापसी db.Collection('articles').find({ main:args.id}).toArray() } } } })})
जावा उदाहरण:
आयात करें GraphQL;आयात graphql.schema.*;import org.bson.Document;import java.util.ArrayList;import java.util.List;import java.util.Map;import static graphql.Scalars.*;Import static graphql.schema .GraphQLArgument.newArgument;आयात स्थिर ग्राफ़िकल.स्कीमा.ग्राफ़क्यूएलफ़ील्डडिफिनिशन.न्यूफ़ील्डडिफिनिशन;स्थिर ग्राफ़कल.स्कीमा आयात करें।ग्राफ़क्यूएलऑब्जेक्ट टाइप.न्यूऑब्जेक्ट;आयात स्थैतिक ग्राफ़क्ल.स्कीमा.ग्राफ़क्यूएलएसकेमा.न्यूस्कीमा;पब्लिक क्लास ग्राफ़क्यूएलटेस्ट {निजी स्थैतिक अंतिम आलेखरिपोजिटरी आलेखरिपोजिटरी; पब्लिक स्टैटिक क्लास आर्टिकल रिपोजिटरी { निजी फाइनल मोंगोकोलेक्शन <दस्तावेज़> लेख; ArticleRepository(MongoCollection article) { this.articles =article; } सार्वजनिक सूची <मानचित्र <स्ट्रिंग, ऑब्जेक्ट>> getAllArticles (स्ट्रिंग आईडी) {सूची <मानचित्र <स्ट्रिंग, ऑब्जेक्ट>> सभी लेख =लेख। ढूंढें (फ़िल्टर.ईक ("मुख्य", आईडी))। नक्शा (डॉक्टर -> ( मानचित्र <स्ट्रिंग, ऑब्जेक्ट>) दस्तावेज़)। में (नई ऐरेलिस्ट <> ()); सभी लेख वापस करें; } } सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग... args) { स्ट्रिंग क्वेरी ="{\n" + "लेख (आईडी:\"Dn59y87PGhkJXpaiZ\") {\n" + " _id,\n" + "सामग्री (भाषा) :\"en\") {\n" + " सामग्री,\n" + "टाइमस्टैम्प\n" + " }\n" + " }\n" + "}"; ExecutionResult परिणाम =GraphQL.newGraphQL(buildSchema()).build().execute(query); System.out.print(result.getData().toString()); } स्थिर { MongoDatabase mongo =new MongoClient().getDatabase("test"); articleRepository =new articleRepository(mongo.getCollection("articles")); निजी स्थैतिक .name("timestamp").type(GraphQLInt).build()).build(); GraphQLObjectType ArticleType =newObject().name("article") .field(newFieldDefinition().name("_id").type(GraphQLID).build()) .field(newFieldDefinition().name("content")। टाइप करें (नया ग्राफक्यूलिस्ट (कंटेंट टाइप)) .argument(newArgument().name("language").type(GraphQLString).build()) .dataFetcher(dataFetchingEnvironment -> {दस्तावेज़ स्रोत =डेटाफ़ेचिंग पर्यावरण। (दस्तावेज़) source.get("content"); ArrayList content =(ArrayList) contentMap.get(dataFetchingEnvironment.getArgument("lang")); वापसी सामग्री;})।बिल्ड ())।बिल्ड (); GraphQLFieldDefinition.Builder articleDefinition =newFieldDefinition() .name("article") .type(new GraphQLList(ArticleType)) .argument(newArgument().name("id").type(new GraphQLNonNull(GraphQLID)).build() ) .dataFetcher(dataFetchingEnvironment -> articleRepository.getAllArticles(dataFetchingEnvironment.getArgument("id"))); वापसी newSchema().query( newObject() .name("RootQueryType") .field(articleDefinition) .build() ).build(); }}