Ich baue eine einfache Datenbank mit MongoDB und ich habe einige Fragen bezüglich einer effizienten Dokumentstruktur. Ich habe im Wesentlichen drei verschiedene Teile: Benutzer, Ereignisse und kostet. Sehen Sie sich meinen derzeitigen Ansatz an.Effiziente MongoDB Datenbankstruktur
{
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"phone": "123456",
"events": [
{
"_id": "*MongoId reference to event*",
"status": 0,
"owner": 1,
"costs": [
{
"id": 1,
"name": "Test",
"amount": 59.99,
"created": "27/12/16 16:47:34 UTC",
"updated:": "27/12/16 16:47:34 UTC"
}
],
"created": "27/12/16 16:47:34 UTC",
"updated": "27/12/16 16:47:34 UTC"
}
],
"created": "27/12/16 16:47:34 UTC",
"updated": "27/12/16 16:47:34 UTC"
}
Mehrere Benutzer werden auf das gleiche Ereignis verbunden werden, damit die MongoID Referenz, sondern ein Kosten offensichtlich gehört nur ein Benutzer-Ereignis-Kombination. Ich habe einige Anwendungsfälle Beispiel:
- Liste ein Ereignis des Benutzers durch user_id (schnell)
- Liste Benutzer einer Veranstaltung von event_id (Geschwindigkeit?)
- Aufzählungs Kosten der Veranstaltung von event_id (Geschwindigkeit?)
- suchen Kosten von user_id, event_id und cost_id (schnell)
2 Fall verwenden würde und 3 in akzeptablen Grenzen sein und ist dies eine effiziente Struktur für meine Bedürfnisse?