Migrate from MongoDB to Qdrant What You Need from MongoDB Connection string — MongoDB URI (e.g., mongodb://user:pass@host:27017)Database name — the database containing your collectionCollection name — the collection to migrateVector field names — the names of fields that store vector embeddingsImportant: MongoDB does not expose vector dimensions or distance metrics in a way the tool can read automatically. You must create the Qdrant collection manually before running the migration.Concept Mapping MongoDB Qdrant Notes Collection Collection One-to-one mapping Document Point Each document becomes a point Vector field Vector Named vectors are preserved Non-vector fields Payload Direct mapping _id (ObjectId or string)Point ID + Payload Converted to UUID; original stored in payload
Run the Migration docker run --net= host --rm -it registry.cloud.qdrant.io/library/qdrant-migration mongodb \
--mongodb.url 'mongodb://localhost:27017' \
--mongodb.database 'your-database' \
--mongodb.collection 'your-collection' \
--mongodb.vector-fields 'embedding' \
--qdrant.url 'https://your-instance.cloud.qdrant.io:6334' \
--qdrant.api-key 'your-qdrant-api-key' \
--qdrant.collection 'your-collection'
With Multiple Vector Fields docker run --net= host --rm -it registry.cloud.qdrant.io/library/qdrant-migration mongodb \
--mongodb.url 'mongodb+srv://user:pass@cluster.mongodb.net' \
--mongodb.database 'your-database' \
--mongodb.collection 'your-collection' \
--mongodb.vector-fields 'title_embedding,body_embedding' \
--qdrant.url 'https://your-instance.cloud.qdrant.io:6334' \
--qdrant.api-key 'your-qdrant-api-key' \
--qdrant.collection 'your-collection' \
--migration.create-collection= false
All MongoDB-Specific Flags Flag Required Description --mongodb.urlYes MongoDB connection string --mongodb.databaseYes Database name --mongodb.collectionYes Collection name --mongodb.vector-fieldsYes Comma-separated list of vector field names
Qdrant-Side Options Flag Default Description --qdrant.id-field__id__Payload field name for original MongoDB _id values
Gotchas Named vectors: Every vector field becomes a named vector with the field’s name, even when there is only one. Pre-create the collection with a named vector for each field.Next Steps After migration, verify your data arrived correctly with the Migration Verification Guide .