sql >> データベース >  >> NoSQL >> MongoDB

graphqlでマングースが必要ですか?

    両方を行うことができます。

    マングースモデルがすでに定義されている場合は、resolveの記述中にそれらを使用できます。 機能。 次の例 を参照してください。 。

    var QueryType = new GraphQLObjectType({  
      name: 'Query',
      fields: () => ({
        todos: {
          type: new GraphQLList(TodoType),
          resolve: () => {
            return new Promise((resolve, reject) => {
              TODO.find((err, todos) => {
                if (err) reject(err)
                else resolve(todos)
              })
            })
          }
        }
      })
    })
    

    マングースモデルがない場合、またはmongodbネイティブドライバーを使用する場合は、それも実行できます。以下は、MongoDBNode.JSドライバー を使用してこれを行う簡単な例です。 。

    resolve: () => {
      return new Promise((resolve, reject) => {
        db.collection('todos').find({}).toArray((err, todos) => {
          if (err) reject(err)
          else resolve(todos)
        })
      })
    }
    

    マングースモデルがあり、それらからGraphQLスキーマを生成したい場合は、graffiti-mongooseに興味があるかもしれません。 、既存のマングースモデルからGraphQLタイプとスキーマを生成します。




    1. JSONからPyMongoObjectIdを逆シリアル化できません

    2. Pymongoを使用してコレクション内の$pushの場所を指定する

    3. Node.jsMongoose.js文字列からObjectId関数へ

    4. MongoDBに接続できませんerrno:61