From 9b0bc1c84de8889212e708ee9815c11aafa5a7e1 Mon Sep 17 00:00:00 2001 From: liugddx Date: Fri, 7 Nov 2025 21:07:01 +0800 Subject: [PATCH] feat: refactor MongoDBAtlasVectorStore to use org.bson.Document for saving embeddings Signed-off-by: liugddx --- .../vectorstore/mongodb/atlas/MongoDBAtlasVectorStore.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/vector-stores/spring-ai-mongodb-atlas-store/src/main/java/org/springframework/ai/vectorstore/mongodb/atlas/MongoDBAtlasVectorStore.java b/vector-stores/spring-ai-mongodb-atlas-store/src/main/java/org/springframework/ai/vectorstore/mongodb/atlas/MongoDBAtlasVectorStore.java index 5c40ceaf208..91fbb9a7c49 100644 --- a/vector-stores/spring-ai-mongodb-atlas-store/src/main/java/org/springframework/ai/vectorstore/mongodb/atlas/MongoDBAtlasVectorStore.java +++ b/vector-stores/spring-ai-mongodb-atlas-store/src/main/java/org/springframework/ai/vectorstore/mongodb/atlas/MongoDBAtlasVectorStore.java @@ -261,8 +261,11 @@ public void doAdd(List documents) { List embeddings = this.embeddingModel.embed(documents, EmbeddingOptionsBuilder.builder().build(), this.batchingStrategy); for (Document document : documents) { - MongoDBDocument mdbDocument = new MongoDBDocument(document.getId(), document.getText(), - document.getMetadata(), embeddings.get(documents.indexOf(document))); + org.bson.Document mdbDocument = new org.bson.Document(); + mdbDocument.put(ID_FIELD_NAME, document.getId()); + mdbDocument.put(CONTENT_FIELD_NAME, document.getText()); + mdbDocument.put(METADATA_FIELD_NAME, document.getMetadata()); + mdbDocument.put(this.pathName, EmbeddingUtils.toList(embeddings.get(documents.indexOf(document)))); this.mongoTemplate.save(mdbDocument, this.collectionName); } }