2016-11-21 3 views
6

Ich experimentiere mit der Verwendung von Flowtype in einer Meteor + React App. Das Hinzufügen von Typen zu meinen verschiedenen Funktionen und Klassen scheint gut zu funktionieren, jedoch würde ich gerne den Zugriff auf die verschiedenen Sammlungen auch prüfen.Wie überprüfe ich Mongo-Sammlungen in Meteor mit Flowtype?

Die Idee wäre, anzugeben, dass alle Elemente in der Sammlung "Bücher" mindestens bestimmte Felder (definiert als der Typ Array) hätten, idealerweise um dies immer zu überprüfen, wenn es Daten von Mongo liest (zumindest in Entwicklung), und dann würde es wissen, wenn ich

tat
const a = Meteor.books.findOne(id) 

dann a würde den Typ Buch haben.

Derzeit greife ich auf die Daten sowohl über Meteor.createCollection als auch über Meteor.find(). Fetch() oder Meteor.findOne() zu.

Ideen sind willkommen!

Antwort

1

Ich denke, das wäre nicht so einfach (für jetzt), weil Meteor Core irgendwie diese Funktion unterstützen sollte.

So gibt Meteor.findOne() einfache JavaScript-Objekt zurück und Meteor.find().fetch() gibt JavaScript-Array zurück. Vielleicht können Sie beispielsweise aus Flow | Objects docs versuchen:

type Book = { name: string, author: string, price: number }; const book = Meteor.books.findOne(id); //returns { name : 'Flowtype Handbook', author: 'renren89', price: 'free'} (book : Book);

Aber wie Sie Meteor sehen können, sollten Daten zurückgeben zuerst während die Anwendung läuft in diesem Beispiel zu bekommen tatsächlich nutzbar.

Eine weitere Option ist die Verwendung von Paketen von Drittanbietern für die Überprüfung der Sammlung gegen Schema. Es zwei Wettbewerber Pakete:

diese Lösung Vielleicht ist besser als Flowtype mit

Verwandte Themen