prisma mongodb вложенное соединение не работает - PullRequest
0 голосов
/ 12 апреля 2020

код, который не работает.

async function postRegisterFavoriteNews(req, res) {
    const {news} = req.body;
    const userId = res.locals.user.id;
    await prisma.updateUser({
        where: {id: userId},
        data: {
            settings: {
                update: {
                    favoriteNews: {
                        connect: [{id: news}]
                    }
                }
            }
        }
    })

    const newses = await userFavoriteNewses(userId)
    res.status(OK).json(newses);
}

эта строка, кажется, не работает .. (также не работает с set)

connect: [{id: news}]

, но не Операции обновления массива работают нормально. Например, обновление памятки внутри вложенного объекта работает нормально. ID пользователя и новости (id) бота действительны

model.graphql

type User {
    id: ID! @id
    name: String!
    uid: String! @unique
    robot: Boolean! @default(value: false)
    settings: UserSettings!
    registeredAt: DateTime! @createdAt
}

type UserSettings @embedded{
    favoriteNews: [News]! @relation(link: INLINE)
    memo: String!
}

TL; DR

что я пытаюсь сделать.

добавить отношение новостей к профилю пользователя.favoriteNews

Например, новость с идентификатором 1 будет выражаться как user1.settings.favoriteNews.push(1)

--- edit --- после изменения настроек на не вложенные, оно работает. Похоже, prisma & mon go ошибка вложенной модели. все еще нужно решение для этого.

...