Mongodb GraphQl API中的AccessDenied错误,can';我想不出来

Mongodb GraphQl API中的AccessDenied错误,can';我想不出来,mongodb,graphql,keystone,Mongodb,Graphql,Keystone,大家好,我在一个小项目中遇到了一个非常令人沮丧的问题。我无法从客户端上的购物车中删除项目,因为我遇到accessDenied错误。此网站没有身份验证,因此不应。我希望每个人谁是在该网站上能够添加和删除购物车项目的意愿。我使用的是GraphQl、Keystone和mongoDB,我已经在Keystone.js数据库中尝试了所有允许访问的方法,我在所有列表中都有访问字段,并将所有内容设置为true。我可以在graphQl平台上删除CartItems,但不能在客户端或管理平台上删除。如果有人能提供一些

大家好,我在一个小项目中遇到了一个非常令人沮丧的问题。我无法从客户端上的购物车中删除项目,因为我遇到accessDenied错误。此网站没有身份验证,因此不应。我希望每个人谁是在该网站上能够添加和删除购物车项目的意愿。我使用的是GraphQl、Keystone和mongoDB,我已经在Keystone.js数据库中尝试了所有允许访问的方法,我在所有列表中都有访问字段,并将所有内容设置为true。我可以在graphQl平台上删除CartItems,但不能在客户端或管理平台上删除。如果有人能提供一些帮助或建议,我们将不胜感激,谢谢

这是我的keystone DB:

const { Keystone } = require('@keystonejs/keystone');
const { GraphQLApp } = require('@keystonejs/app-graphql');
const { AdminUIApp } = require('@keystonejs/app-admin-ui');
const { MongooseAdapter: Adapter } = require('@keystonejs/adapter-mongoose');
const FoodItem = require('./lists/FoodItem');
const Category = require('./lists/Category');
const Salad = require('./lists/Salad');
const Order = require('./lists/Order');
const saladCartItem = require('./lists/saladCartItem');
const foodCartItem = require('./lists/foodCartItem');
const Cart = require('./lists/Cart');
const PROJECT_NAME = 'ghost-grits';
const adapterConfig = { mongoUri: process.env.DATABASE_URL };

const keystone = new Keystone({
  adapter: new Adapter(adapterConfig),
  cookieSecret: process.env.COOKIE_SECRET,
  defaultAccess: {
    list: true,
    field: true
  }
});

keystone.createList('FoodItem', FoodItem)
keystone.createList('Category', Category)
keystone.createList('Salad', Salad)
keystone.createList('Order', Order)
keystone.createList('saladCartItem', saladCartItem)
keystone.createList('foodCartItem', foodCartItem)
keystone.createList('Cart', Cart)

module.exports = {
  keystone,
  apps: [new GraphQLApp({ isAccessAllowed: true }), new AdminUIApp({ name: PROJECT_NAME, enableDefaultRoute: true, isAccessAllowed: true })],
};

这是访问字段,我在所有列表中都放了一个相同的字段:

const FoodItem = list({
  access: {
    read: true,
    update: true,
    delete: true,
    create: true
  },

这是keystone中已知的问题。当您没有具有该项目id的项目时,即使没有访问控制设置,它也会给您
拒绝访问
错误

检查您的客户端应用程序是否正在向graphql发送正确的变量。您可以使用ChromeDevTools并查找api调用。确保查询正确并且变量包含正确的数据。您还可以通过使用该id查询项目来进行检查,如果该id返回任何结果