Javascript 当我添加花括号以便能够向上下文添加更多元素时,如何访问GraphqlServer上下文对象?
我正在与GraphQL、GraphQL瑜伽和NodeJS合作 当DB数组嵌套在GraphQLServer上下文中时,访问DB数组时出现问题。当我的GraphQLServer上下文配置为如下所示的单个元素时,一切正常:(db是模拟db内容的数组) 当我向其添加大括号时,它会断开: 即使我在编码时没有看到任何错误,但当尝试执行任何解析程序时,它们似乎无法再访问DB对象,并且所有我的find()、findIndex()、some()以及与我的DB数组关联的所有方法都不再工作。如果我回到:context:db,那么一切都会完美地工作 这是我在运行时遇到的错误 TypeError:无法读取未定义的属性“findIndex” 这是我的解析器的外观: 即使我在解析程序中解构上下文以直接使用数组,我仍然会得到相同的错误: 这是my package.json: 非常感谢您的帮助 如果您这样做:Javascript 当我添加花括号以便能够向上下文添加更多元素时,如何访问GraphqlServer上下文对象?,javascript,arrays,node.js,graphql,Javascript,Arrays,Node.js,Graphql,我正在与GraphQL、GraphQL瑜伽和NodeJS合作 当DB数组嵌套在GraphQLServer上下文中时,访问DB数组时出现问题。当我的GraphQLServer上下文配置为如下所示的单个元素时,一切正常:(db是模拟db内容的数组) 当我向其添加大括号时,它会断开: 即使我在编码时没有看到任何错误,但当尝试执行任何解析程序时,它们似乎无法再访问DB对象,并且所有我的find()、findIndex()、some()以及与我的DB数组关联的所有方法都不再工作。如果我回到:conte
const context = db
然后将context的值设置为db
的值。如果您这样做了,然后运行以下代码
context.db.comments.findIndex(comment => comment.id === args.id)
这意味着context
对象上有一个名为db
的属性。因为context
与原始db
变量相同,这意味着原始db
变量上有一个名为db
的属性。因此,如果直接使用db
变量,此代码也会起作用:
db.db.comments.findIndex(comment => comment.id === args.id)
如果您没有将context
设置为db
,而是将其值设置为具有名为db
的属性的新对象,然后将该属性的值设置为db
context = { db: db }
或使用速记法:
context = { db }
然后,您的函数调用将如下所示:
context.db.db.comments.findIndex(comment => comment.id === args.id)
这绝对正确,解决了我的问题。我花了很多时间想弄明白这一点。谢谢你抽出时间来帮助我。干杯。有什么具体的原因吗-1?留下a-1,不留下理由,并不能帮助我改进我的问题,让其他人发现它有用。我希望得到一些反馈。谢谢