diff --git a/docs/core_docs/docs/integrations/vectorstores/prisma.mdx b/docs/core_docs/docs/integrations/vectorstores/prisma.mdx
index 6907cd6f8fb9..27612f150002 100644
--- a/docs/core_docs/docs/integrations/vectorstores/prisma.mdx
+++ b/docs/core_docs/docs/integrations/vectorstores/prisma.mdx
@@ -82,7 +82,7 @@ import Schema from "@examples/indexes/vector_stores/prisma_vectorstore/prisma/sc
{Example}
-The following SQL operators are available as filters: `equals`, `in`, `lt`, `lte`, `gt`, `gte`, `not`.
+The following SQL operators are available as filters: `equals`, `in`, `isNull`, `isNotNull`, `like`, `lt`, `lte`, `gt`, `gte`, `not`.
The samples above uses the following schema:
diff --git a/langchain/src/vectorstores/prisma.ts b/langchain/src/vectorstores/prisma.ts
index 06d2c022c786..15fbf82868dc 100644
--- a/langchain/src/vectorstores/prisma.ts
+++ b/langchain/src/vectorstores/prisma.ts
@@ -62,6 +62,9 @@ export type PrismaSqlFilter> = {
[K in keyof TModel]?: {
equals?: TModel[K];
in?: TModel[K][];
+ isNull?: TModel[K];
+ isNotNull?: TModel[K];
+ like?: TModel[K];
lt?: TModel[K];
lte?: TModel[K];
gt?: TModel[K];
@@ -73,6 +76,9 @@ export type PrismaSqlFilter> = {
const OpMap = {
equals: "=",
in: "IN",
+ isNull: "IS NULL",
+ isNotNull: "IS NOT NULL",
+ like: "LIKE",
lt: "<",
lte: "<=",
gt: ">",
@@ -432,6 +438,9 @@ export class PrismaVectorStore<
}
return this.Prisma.sql`${colRaw} ${opRaw} (${value.join(",")})`;
}
+ case OpMap.isNull:
+ case OpMap.isNotNull:
+ return this.Prisma.sql`${colRaw} ${opRaw}`;
default:
return this.Prisma.sql`${colRaw} ${opRaw} ${value}`;
}