【发布时间】:2020-02-07 10:26:54
【问题描述】:
之前没有使用过graphql 或mongodb。为更新突变传递对象的正确方法是什么?
由于我看到传递多个动态出现的参数的唯一其他方法是使用input 类型,这对我来说似乎有点无效(就它在代码中的外观而言,尤其是对于更大的对象而言),我只是自己传递可能的值。但是在这种情况下,我需要动态构造updateObject,这对于更大的模型来说又会变得混乱。
例如现在我做了:
Mutation: {
updateHub: async (_, { id, url, ports, enabled }) => {
const query = {'_id': id};
const updateFields = {
...(url? {url: url} : null),
...(ports? {ports: ports} : null),
...(enabled? {enabled: enabled} : null)
};
const result = await HubStore.findByIdAndUpdate(query, updateFields);
return {
success: !result ? false : true,
message: 'updated',
hub: result
};
}
}
有什么更好的处理方法的建议吗?
谢谢!
【问题讨论】:
标签: javascript graphql apollo-server