0
graphql을 통해 mongoDB 컬렉션에 액세스하고 있습니다. 이것은 DB 데이터입니다 :GraphQL : 문자열 일치 부분 일치
{
"data": {
"todo": [
{
"itemId": 1,
"item": "texture"
}
]
}
}
에서
{
"_id" : ObjectId("59ee1be762494b1df1dfe30c"),
"itemId" : 1,
"item" : "texture",
"__v" : 0
}
{
"_id" : ObjectId("59ee1bee62494b1df1dfe30d"),
"itemId" : 1,
"item" : "pictures",
"__v" : 0
}
쿼리를 { todo(item: "texture"){ itemId, item } }
결과하지만 부분적으로 주어진 문자열에 일치하는 데이터 세트를 찾을 필요가있다. 그래서 문자열 tur
두 데이터 세트 발생한다 : 텍스 TUR 전자, 그림 TUR ES
내 graphQL 스키마는 다음과 같습니다 : 일반적으로
var schema = new GraphQLSchema({
query: new GraphQLObjectType({
name: 'RootQueryType',
fields: {
todo: {
type: new GraphQLList(todoType),
args: {
item: {
name: 'item',
type: new GraphQLNonNull(GraphQLString)
}
},
resolve: (root, {item}, source, fieldASTs) => {
var projections = getProjection(fieldASTs)
var foundItems = new Promise((resolve, reject) => {
ToDoMongo.find({item}, projections, (err, todos) => {
err ? reject(err) : resolve(todos)
})
})
return foundItems
}
}
}
})
})
'ToDoMongo.find' 메소드 코드를 붙여 넣을 수 있습니까? 쿼리를 구성하는 방법을 알아야합니다. 원하는 것을 지원하기 위해 조정해야하는 항목이기 때문입니다. – cbartosiak
@cbartosiak 게시 된 스키마에서 resolve() 코드를 볼 수 있습니다. 거기에'ToDoMongo.find()'가 보입니다. 그래서 거기에 정규식을 사용해야합니까? – user3142695
예, 정규식은 Mongo'find' 메소드에 대한 입력입니다. 관심있는 직업을 수행하는 것은 Mongo의 책임입니다. – cbartosiak