定义 prisma 数据模型中数组字段是否必需

Dul*_*ndu 4 prisma prisma-graphql

以下有什么区别。何时使用其中一种而不是另一种?

zones: [Zone]
zones: [Zone!]
zones: [Zone]!
zones: [Zone!]!
Run Code Online (Sandbox Code Playgroud)

Err*_*ame 5

这可以根据定义总结为允许值表:

\n\n
values   \xc2\xa0\xc2\xa0    | [Zone] | [Zone!] | [Zone]! | [Zone!]! |\n--------------------------------------------------------\nnull           |    \xe2\x9c\x94   |    \xe2\x9c\x94    |    X    |     X    |\n[]             |    \xe2\x9c\x94   |    \xe2\x9c\x94    |    \xe2\x9c\x94    |     \xe2\x9c\x94    |\n[null]         |    \xe2\x9c\x94   |    X    |    \xe2\x9c\x94    |     X    |\n["a","b"]      |    \xe2\x9c\x94   |    \xe2\x9c\x94    |    \xe2\x9c\x94    |     \xe2\x9c\x94    |\n["a",null,"c"] |    \xe2\x9c\x94   |    X    |    \xe2\x9c\x94    |     X    |\n
Run Code Online (Sandbox Code Playgroud)\n\n

大多数时候,您需要使用[Zone!]!因为它可以确保在数组中找不到空值。

\n