Why MongoDB fits Akeneo's product model
Akeneo's product data is inherently hierarchical and variable: a T-shirt has different attributes than a laptop, which has different attributes than a piece of furniture. MongoDB's document model handles this naturally — each product becomes a self-contained JSON document, with no schema migrations when you add new attribute groups.
For e-commerce applications, this is particularly valuable. Your Next.js storefront queries MongoDB directly — no joins, no ORM overhead, just fast document reads. A product document can contain everything needed to render a product page: name, description, images, variants, and computed fields like URL slugs.
Zero schema migrations
Add new Akeneo attribute groups — existing MongoDB documents are unaffected. New attributes just appear in subsequent exports.
Fast storefront queries
Fetch a complete product document in a single find() call. No joins, no aggregation pipeline needed for basic product pages.
Native JSON API
Expose MongoDB documents directly via an API layer. Your mobile app, web app, and marketplace feeds all read the same source.
Product families → MongoDB collections
SyncPIM maps Akeneo product families to MongoDB collections. All products of the clothing family go to a clothing collection, electronics to an electronics collection, and so on. You can also export all families to a single products collection.
// Example MongoDB document after export
{
"_id": "product-uuid-from-akeneo",
"sku": "TSHIRT-BLUE-L",
"family": "clothing",
"enabled": true,
"categories": ["men", "shirts", "summer-collection"],
"name": {
"en_US": "Blue Classic T-Shirt",
"fr_FR": "T-Shirt Classique Bleu"
},
"description": {
"en_US": "Premium cotton t-shirt..."
},
"color": "blue",
"size": "L",
"price": [{ "amount": "29.99", "currency": "EUR" }],
// Enricher-computed fields:
"slug": "blue-classic-t-shirt-l",
"url": "/products/blue-classic-t-shirt-l",
"updatedAt": "2025-03-15T10:30:00Z"
}Variant flattening: one document per SKU
Akeneo organizes products in a 3-level hierarchy: Root Product Model → Sub Product Model → Variant Product. SyncPIM automatically flattens this hierarchy so each variant becomes a standalone MongoDB document with all inherited attributes resolved — root attributes merged with variant-specific overrides.
This means your MongoDB queries stay simple: one document per buyable variant, with every attribute you need already present. No complex tree traversal, no lookup across multiple documents.
MongoDB Atlas setup & IP whitelisting
- 1In MongoDB Atlas, navigate to Security → Network Access
- 2Click 'Add IP Address'
- 3Add SyncPIM's IP ranges (available in your SyncPIM dashboard under Settings → IP Ranges)
- 4Copy your connection string: mongodb+srv://user:pass@cluster.mongodb.net/dbname
- 5Paste it in the SyncPIM destination configuration
Incremental sync for high-frequency storefronts
After your initial full export, enable incremental sync to run hourly or daily. SyncPIM tracks the timestamp of your last successful export and fetches only products updated in Akeneo since then. For most catalogs, this means syncing a few hundred documents per hour — keeping your MongoDB collection up-to-date without hammering the Akeneo API or your database.
Ready to sync Akeneo to MongoDB?
10 free exports. No credit card. Full product model and variant support.