1

我试图了解 GraphQL 的优势是什么。我读过有关减少端点数量和服务器响应复杂性的文章,但似乎仅使用 JS 也可以实现相同的结果。

这是一个可以作为 JSON 发送到带有 MongoDB 的节点服务器的数据对象的示例。这将是客户端正在检索用户信息的游戏应用程序的示例:

let data = {
     db: "users", 
     params: {_id: "xxxxx"}, 
     fields:  ["username", "level"],
     games: 
           {
               db: "games", 
               params: {userID: "xxxxx"},
               fields: ["opponent”]
           }
}

在此示例中,db、params 和 fields 将是标准键,而 games 就像一个特殊键,用于检索用户游戏的特定目的,但是,游戏对象的语法将遵循与整体相同的标准格式数据对象。

然后在服务器上,Mongo 查询看起来像这样:

db.collection(data.db).find(params)

然后,您将以某种标准化的方式过滤掉无关的 Mongo 字段并响应客户端。

我是 JS 的相对初学者,但我认为您也可以根据数据对象中是否包含某些特殊键(例如,上面的“游戏”)来链接承诺。

这似乎实现了与 GraphQL 相同的好处,但复杂性更低。GraphQL 还有什么其他的好处是普通的 JS 没有的?

4

0 回答 0