#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?