基于过滤器过滤来自Graph QL的查询



我试图调用图形ql查询,我想根据用户给出的变量(MeetingID)值过滤值。

var MeetingID
const handleUserInputChange = (e) => {
MeetingID = e.target.name;

};
const querysort = Object.assign({},{
sortDirection : 'ASC' ,type : 'datamodel', MeetingID: MeetingID
})

async function fetchTrans() {
try {
const transData = await API.graphql(graphqlOperation(datamodel,querysort, { filter: { MeetingID: MeetingID } }));
console.log(transData);
//const transData = await API.graphql(graphqlOperation(datamodelByDate,variables));
const datamodels = transData.data.datamodel.items;
setValue(datamodels)
//console.log(transData.data.datamodelByDate.items)
} catch (err) { console.log('error fetching transcription:', err) }
}

这是由amplify codegen

生成的查询
export const datamodel = /* GraphQL */ `
query Datamodel(
$type: String!
$createdAt: ModelStringKeyConditionInput
$sortDirection: ModelSortDirection
$filter: ModelDatamodelFilterInput
$limit: Int
$nextToken: String
) {
datamodel(
type: $type
createdAt: $createdAt
sortDirection: $sortDirection
filter: $filter
limit: $limit
nextToken: $nextToken
) {
items {
id
MeetingID
Transcription
createdAt
type
updatedAt
}
nextToken
}
}
`;

我得到了所有的转录,即使我已经应用了查询。

需要指定操作符

var MeetingID;
const querysort = Object.assign({},{
sortDirection : 'ASC', 
type : 'datamodel', 
filter: { MeetingID: { eq: MeetingID } }
})
await API.graphql(graphqlOperation(datamodel, querysort))

最新更新