如何在 Lokka 突变中传递数组?
How to pass array in Lokka mutation?
我正在开发一个包含 GraphCool、Lokka 和 Nodejs 的项目。我必须传递 itemsIds: [ID!]
,现在当将字符串数组传递到字符串文字时,数组变为 [id1, id2, id3]
并且突变需要 ["id1", "id2", "id3"]
。 Apollo GraphQL 也存在同样的问题。我以某种方式使用下面的代码解决了这个问题。难道我做错了什么?有一个简单的解决方案吗? -
let cc = '';
data.allCarts[0].items.map(item => cc = cc.concat(`'${item.id}',`));
cc = cc.concat(`'${itemid}'`);
console.log('mogg ', cc);
cc = cc.replace(/'/g, '"');
console.log('gogg ', cc);
let nodeid = data.allCarts[0].id;
console.log('Node:: ', nodeid, 'items:: ', cc);
client.mutate(`{
uo: updateCart(id: "${nodeid}", itemsIds: [${cc}]){
id
}
}`
).then(
(response) => {
console.log('cart update:: ', response.uo);
sendTextMessage(user, 'Done adding to cart, choose to add more');
}
)
.catch(error => console.error(error));
将参数的值直接插入查询字符串很笨拙——这就是变量的作用。
itemsIds
正在寻找一组 ID,所以让我们给他们:
const cc = data.allCarts[0].items.map(item => item.id).concat(itemid);
然后... 与 lokka:
const mutation = `($nodeid: ID, $cc: [ID!]){
uo: updateCart(id: $nodeid, itemsIds: $cc){
id
}
}`
const variables = { nodeid, cc }
client.mutate(mutation, variables)
或者... 与阿波罗:
const mutation = gql`mutation UpdateCart($nodeid: ID, $cc: [ID!]){
updateCart(id: $nodeid, itemsIds: $cc){
id
}
}`
const variables = { nodeid, cc }
client.mutate({mutation, variables})
我正在开发一个包含 GraphCool、Lokka 和 Nodejs 的项目。我必须传递 itemsIds: [ID!]
,现在当将字符串数组传递到字符串文字时,数组变为 [id1, id2, id3]
并且突变需要 ["id1", "id2", "id3"]
。 Apollo GraphQL 也存在同样的问题。我以某种方式使用下面的代码解决了这个问题。难道我做错了什么?有一个简单的解决方案吗? -
let cc = '';
data.allCarts[0].items.map(item => cc = cc.concat(`'${item.id}',`));
cc = cc.concat(`'${itemid}'`);
console.log('mogg ', cc);
cc = cc.replace(/'/g, '"');
console.log('gogg ', cc);
let nodeid = data.allCarts[0].id;
console.log('Node:: ', nodeid, 'items:: ', cc);
client.mutate(`{
uo: updateCart(id: "${nodeid}", itemsIds: [${cc}]){
id
}
}`
).then(
(response) => {
console.log('cart update:: ', response.uo);
sendTextMessage(user, 'Done adding to cart, choose to add more');
}
)
.catch(error => console.error(error));
将参数的值直接插入查询字符串很笨拙——这就是变量的作用。
itemsIds
正在寻找一组 ID,所以让我们给他们:
const cc = data.allCarts[0].items.map(item => item.id).concat(itemid);
然后... 与 lokka:
const mutation = `($nodeid: ID, $cc: [ID!]){
uo: updateCart(id: $nodeid, itemsIds: $cc){
id
}
}`
const variables = { nodeid, cc }
client.mutate(mutation, variables)
或者... 与阿波罗:
const mutation = gql`mutation UpdateCart($nodeid: ID, $cc: [ID!]){
updateCart(id: $nodeid, itemsIds: $cc){
id
}
}`
const variables = { nodeid, cc }
client.mutate({mutation, variables})