如何使用带有graphql的insertMany在mongodb集合中插入多个记录

时间:2019-02-01 11:22:56

标签: mongodb graphql graphiql

我有以下型号,类型和解析器:

import mongoose from "mongoose";

const TipoClienteSchema = mongoose.Schema({
    codigoTipoCliente: String,
    descrTipoCliente: String
});

const tipoClienteModel = mongoose.model('tipoclientes', TipoClienteSchema);
export default tipoClienteModel;

type TipoCliente {
    _id: ID
    codigoTipoCliente: String
    descrTipoCliente: String
}

input iTipoClienteMany {
    codigoTipoCliente: String,
    descrTipoCliente: String
}
type Mutation {
    createInsertMany(tipocliente: [iTipoClienteMany]): Response
}

createInsertMany: async (parent, args, {models}) => {
  const tabla = await models.TipoCliente.insertMany(args.tipocliente)
  return {
    acknowledged: true}
}

在graphiql中执行时:

mutation 
  createInsertMany{
    createInsertMany(
    tipocliente:[{
      codigoTipoCliente: "88",
      descrTipoCliente: "prueba tipo cliente"
    },
    {
      codigoTipoCliente: "99",
      descrTipoCliente: "prueba tipo cliente 1"
    }]
    ) {
       acknowledged
    }
  }

工作正常,将两个寄存器相加,但是我需要使用变量添加n条记录。我已经尝试在graphiql中执行以下操作:

mutation 
  createInsertMany($codigoTipoCliente: String, $descrTipoCliente: String){
    createInsertMany(
    tipocliente:[{
      codigoTipoCliente: $codigoTipoCliente,
      descrTipoCliente: $descrTipoCliente
    }]
    ) {
      acknowledged
    }
  }

//en la seccion QUERY VARIABLES =>
{
  "codigoTipoCliente": 88,
  "descrTipoCliente": "prueba tipo cliente"
}

,它通过添加一条记录对我有用,但是我不知道,我也无法使它适用于多个记录,我不知道如何使用变量中的数组来完成它,有人可以你帮我...非常感谢

0 个答案:

没有答案