I try to create a noSQL DB for admin orders with Firebase, this is like sql (every entity with id and relation):
{
"orders": [{
"customer": 1,
"rows": [{
"article": 1,
"quantity": 7
}, {
"article": 2,
"quantity": 10
}]
}],
"articles": [{
"sku": 1,
"name": "article-test-1"
}, {
"sku": 2,
"name": "article-test-2"
}, {
"sku": 3,
"name": "article-test-3"
}],
"customers": [{
"id": 1,
"name": "customer-test-1",
"country": 1
}, {
"id": 2,
"name": "customer-test-2",
"country": 2
}, {
"id": 3,
"name": "customer-test-3",
"country": 3
}],
"countries": [{
"id": 1,
"name": "france"
}, {
"id": 2,
"name": "germany"
}, {
"id": 3,
"name": "canada"
}, {
"id": 4,
"name": "spain"
}],
"statistics": [{
"quantity-ordered": 17
}]
}
So I try to make some changes but now is very redundant (remove countries and not use id to relation):
{
"orders": [{
"customer": {
"name": "customer-test-1",
"country": "france"
},
"rows": [{
"article": "article-test-1",
"quantity": 7
}, {
"article": "article-test-2",
"quantity": 10
}]
}],
"articles": [{
"sku": 1,
"name": "article-test-1"
}, {
"sku": 2,
"name": "article-test-2"
}, {
"sku": 3,
"name": "article-test-3"
}],
"customers": [{
"name": "customer-test-1",
"country": "france"
}, {
"name": "customer-test-2",
"country": "germany"
}, {
"name": "customer-test-3",
"country": "canada"
}],
"statistics": [{
"quantity-ordered": 17
}]
}
In the end, I try to mix (countries inside customer without id):
{
"orders": [{
"customer": {
"name": "customer-test-1",
"country": "france"
},
"rows": [{
"article": "article-test-1",
"quantity": 7
}, {
"article": "article-test-2",
"quantity": 10
}]
}],
"articles": [{
"sku": 1,
"name": "article-test-1"
}, {
"sku": 2,
"name": "article-test-2"
}, {
"sku": 3,
"name": "article-test-3"
}],
"customers": [{
"id": 1,
"name": "customer-test-1",
"country": "france"
}, {
"id": 2,
"name": "customer-test-2",
"country": "germany"
}, {
"id": 3,
"name": "customer-test-3",
"country": "canada"
}],
"statistics": [{
"quantity-ordered": 17
}]
}
What's the best practice? If is wrong how can I do?
Aucun commentaire:
Enregistrer un commentaire