Ich bin neu zu no-sql
. Ich versuche, eine einfache E-Commerce-App in nodejs zu bauen. Jetzt für das Produkt muss ich CRUD-Operationen erstellen, so dass nur Besitzer sie bearbeiten können, Ruhe haben READ-ONLY
Zugriff. Die Hauptfrage ist, welche wäre eine bessere Umsetzung?Welches Mungo-Modell wäre effizienter?
Der aktuelle Code, den ich habe, ist wie
var mongoose = require('mongoose');
module.exports = mongoose.model('product',new mongoose.Schema({
owner : {type: String},
title : {type: String},
...
}));
Der Inhaber tatsächlich das Modell _id
von meinem Benutzer ist. Im Grunde ist das so etwas wie ein Fremdschlüssel. Ist das die gültige Methode um herumzugehen oder sollte ich ein Array innerhalb der user model
hinzufügen, um die Liste der Objekte zu speichern, die er besitzt?
Auch ich möchte Validierung haben, wenn was ich gerade für Besitzer getan habe, Speichern UID
in String
ist Best Practice oder sollte ich etwas anderes tun, um das Benutzermodell zu verweisen.
Vielen Dank im Voraus für die Hilfe.
Hallo, vielen Dank für den Link, nur damit wir auf der gleichen Seite sind, sollte ich eher ein Array mit Objectid-Objekt für Benutzer erstellen? – georoot
Nicht OP, aber ich denke, sie schlagen vor, dass Sie Besitzerinformationen direkt in das Produktmodell einfügen und dann möglicherweise auch ein Array von Produkt-IDs zum entsprechenden Besitzer hinzufügen. Sie sollten jedoch beachten, dass Sie bei der Verwendung dieses Ansatzes zusätzliche Probleme berücksichtigen müssen, wie z. B. die Aktualisierung des Besitzers, in der Sie möglicherweise auch N Produkte für die denormalisierten Besitzerdaten aktualisieren müssen. Ein weiteres Problem besteht darin, dass Sie beim Zuweisen eines Besitzers zu einem Produkt auch das Array der Produkt-IDs des Besitzers aktualisieren müssen. – dvlsg