MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

अपोलो/ग्राफक्यूएल:नेस्टेड तत्व कैसे प्राप्त करें?

आप नीचे दिए गए कोड का उपयोग कर सकते हैं।

स्ट्रिंग क्वेरी ={ 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(); }}

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoError:UNKNOWN कनेक्ट करें

  2. मैं लार्वा मोंगोडब पर पसंद नहीं का उपयोग कैसे कर सकता हूं?

  3. आप MongoDB उपयोगकर्ता अनुमतियों को कैसे बदलते हैं?

  4. निनजेक्ट और मोंगोडीबी का उपयोग करके सिंगलटन बनाम क्षणिक बनाम अनुरोध का उपयोग कब करें

  5. मैं node.js में किसी अन्य वादा फ़ंक्शन के अंदर एक वादा कैसे घोंसला करूं?