Ich weiß, dass es möglich ist, Instanzmethode für jedes Schema zu erstellen, aber gibt es eine Möglichkeit, Instanzaufruf zu erstellen, der sich auf alle Schemas bezieht.Gibt es eine Möglichkeit, in mongoose globalen Instanzaufruf für alle Schemas zu erstellen?
Antwort
Sie möchten möglicherweise eine Funktion erstellen und dann diese Funktion für alle Schema verwenden möchten.
Wenn ich Ihre Anforderung verstanden habe, dann müssen Sie eine Funktion in einer separaten Datei erstellen und diese Datei als Schema-Plugin hinzufügen.
Zum Beispiel:
in lastUpdate.js Datei eine Funktion erstellen, die
module.exports = exports = function lastUpdatePlugin (schema) {
schema.add({ updateTime: Date })
schema.pre('save', function (next) {
this.updateTime= new Date
next()
});
}
in user.js Schemadatei für verschiedenes Schema Verwendung wird funktionieren:
var lastUpdate = require('./lastUpdate');//load lastUpdate.js file
var User= new Schema({name: String, ... });
User.plugin(lastUpdate);
in bank.js Schemadatei:
var lastUpdate = require('./lastUpdate');//load lastUpdate.js file
var Bank= new Schema({bankName: String, ... });
Bank.plugin(lastUpdate);
Dann, wenn speichern user
und bank
dann automatisch aktualisiert updateTime
für jedes Schema
Ja, es ist auch ein gutes Beispiel, danke, aber es löst das Problem eigentlich nicht, mein Hauptproblem sind benutzerdefinierte Filter, wie der Aufruf von User.customWhere (...), der beim Aufruf User.where mit RegEx zum Beispiel aufrufen kann. – Shekspir
- 1. Gibt es eine Möglichkeit, TypeScript-Klassen in Closures zu erstellen?
- 2. Gibt es eine Möglichkeit für DBUnit, Tabellen automatisch zu erstellen?
- 3. Gibt es eine Möglichkeit, Diagramm für Localdb zu erstellen?
- 4. Gibt es eine Möglichkeit, eine Klasseneigenschaft in Python zu erstellen?
- 5. Gibt es eine Möglichkeit, einen Pfadverlauf in JavaFX zu erstellen?
- 6. Einfache Möglichkeit, Mongoose-Dokumentversionen für alle Aktualisierungsabfragen zu erhöhen?
- 7. Gibt es eine Möglichkeit, benutzerdefinierte Eigenschaften in Kivy zu erstellen?
- 8. Gibt es eine Möglichkeit, ein Projekt nur für ein C# -Projekt zu erstellen oder zu erstellen
- 9. Gibt es eine Möglichkeit, eine benutzerdefinierte Toastbenachrichtigung zu erstellen?
- 10. Gibt es eine Möglichkeit, alle PrimeFaces-Animationen zu deaktivieren?
- 11. Gibt es eine schmerzfreie Möglichkeit, eine "css sandbox" zu erstellen?
- 12. Gibt es in Ruby eine Möglichkeit, alle globalen Variablen und definierten/vordefinierten Konstanten auszudrucken?
- 13. Gibt es eine Möglichkeit, ein unveränderliches (schreibgeschütztes) XDocument zu erstellen?
- 14. Gibt es eine Möglichkeit, eine leere .mo-Dateivorlage zu erstellen?
- 15. Gibt es eine Möglichkeit, eine Gleitkommazahl ohne ldexp zu erstellen?
- 16. Gibt es eine einfache Möglichkeit, alle gängigen Modulerweiterungen zu erhalten?
- 17. Gibt es eine kürzere Möglichkeit, alle Videoformate zu überprüfen?
- 18. Gibt es eine Möglichkeit, alle vorhandenen Gruppen automatisch zu durchlaufen?
- 19. Gibt es eine Möglichkeit, alle JavaScript-Timer gleichzeitig zu löschen?
- 20. Slack: Gibt es eine Möglichkeit, alle @channel Benachrichtigungen zu deaktivieren
- 21. Gibt es eine Möglichkeit, Doxygen anzuweisen, (alle) Namespaces zu ignorieren?
- 22. Gibt es eine Möglichkeit, alle Radion Schaltflächen deaktiviert zu haben
- 23. Gibt es eine Möglichkeit, alle Aktionen einer UIToolbar zu behandeln?
- 24. Gibt es eine Möglichkeit, einen C++ - Strukturwert zu erstellen - alle POD-Elementvariablen zu initialisieren?
- 25. Gibt es eine bessere Möglichkeit, solche Listen zu erstellen?
- 26. Gibt es eine einfache Möglichkeit, einen Code TextBox zu erstellen?
- 27. Gibt es eine Möglichkeit, alle iPhone-Anwendungsdaten zu löschen?
- 28. Gibt es eine Möglichkeit, alle Attribute eines DOMEelements zu erhalten?
- 29. Gibt es eine Möglichkeit, alle Redis Client Connections zu entfernen?
- 30. Scala: Gibt es eine Möglichkeit, Inline-Typen zu erstellen?
http://mongoosejs.com/docs/guide.html –
@SmitaAhinave können Sie bitte erklären, wo die Antwort suchen? Ich habe das schon mal gesehen. – Shekspir