Какой тип поля использовать для поля, заполненного мангустом, с типом объекта SchemaType

#reactjs #mongoose #graphql-js

Вопрос:

Я использую mongodb и graphql. Моя схема выглядит так

 const TransactionSchema = new Schema({  id: { type: SchemaTypes.ObjectId },  user_id: { type: SchemaTypes.ObjectId, default: null, ref: 'user' },  amount: { type: Number, default: null },  credit: { type: Boolean, default: null },  debit: { type: Boolean, default: null },  description: { type: String, default: null },  merchant_id: { type: String, default: null } }) const UserModel = model('user', UserSchema)   

и мой тип транзакции

 const TransactionType = new GraphQLObjectType({  name: 'Transaction',  fields: () =gt; ({  id: { type: GraphQLString },  user_id: { type: GraphQLString },  description: { type: GraphQLString },  merchant_id: { type: GraphQLString },  debit: { type: GraphQLBoolean },  credit: { type: GraphQLBoolean },  amount: { type: GraphQLFloat }  }) })  

Я вижу из своего отладчика, что поле заполняется, однако я получаю ошибку в ответе в тестере пользовательского интерфейса

{ «сообщение»: «Строка не может представлять значение: { Имя: «Джек», фамилия: «Харкнесс», dob: «01/01/1900», _id: { _bsontype: «ObjectId», идентификатор: lt;Буфер 61 95 86 9e fd bd 1a 43 b6 2d 22 bdgt; } }», «местоположения»: [ { «строка»: 9, «столбец»: 5 } ], «путь»: [ «транзакции», 0, «идентификатор пользователя» ] },

Но в отладчике я вижу то, что хочу видеть

 {  user_id: {  firstName: 'Clara',  lastName: 'Oswald',  dob: '01/25/1000',  _id: 61946c571c2a20c8f553d76b  },  amount: 14.99,  credit: null,  debit: true,  description: 'baking supplies',  merchant_id: 'walmart',  _id: 619463389d0b3bb69eba7379,  __v: 0  }  

Какой тип мне нужно использовать в TransactionType.user_id для учета сохраненного идентификатора (для извлечения объекта из бд) и возвращенного объекта UserType?