2017-05-24 5 views
0

Ich habe einige CSV-Daten über mongoimport in meine Datenbank importiert, wodurch meine Sammlung während des Imports erstellt wurde.Mongoose - Definieren eines Modells für eine bereits vorhandene Sammlung

Wenn ich mein Modell in Node definiere, was gebe ich für den Schema-Parameter? Das Anzeigen meiner Datenbank in Kompass zeigt ein Schema an, das bereits basierend auf den importierten Daten erstellt wurde.

Ich übergebe derzeit ein leeres Schema, das völlig falsch scheint.

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var Units = new Schema({ 
}); 

module.exports = mongoose.model('Units', Units, 'units'); 
+0

, die funktionieren sollte, welche Fehler haben Sie? – luisenrike

+0

Kein Fehler, fragen, ob dies korrekt ist, wenn Sie bereits vorhandene Daten in meiner Datenbank verwenden. Es scheint sinnlos, ein leeres Schema zu übergeben –

+0

Sie können die Felder Ihrer Dokumente zu Ihrem Schema hinzufügen, zB wenn Ihre Dokumente bestehen aus: _id, Benutzername und E-Mail, können Sie tun: var Units = new Schema ({_id: Schema.Types. ObjectId, Benutzername: String, E-Mail: String}); – luisenrike

Antwort

2

Das Schema sollte wie folgt enthalten, die die Art der Daten, mit dem Sie arbeiten definiert.

var Units = new Schema({ 
    f_name: String, 
    l_name: String, 
    manager: Boolean 
}); 

Siehe 'Defining your schema'.

Auch glaube ich nicht, dass mongoose.model einen dritten Parameter nimmt.

module.exports = mongoose.model('Units',Units);

Edit:yes it does.

+1

Dieser dritte Parameter gibt die MongoDB-Sammlung an, die für dieses Modell verwendet werden soll ([doc]) (http://mongoosejs.com/docs/api.html#index_Mongoose-model)) – robertklep

+0

Ah, Sie haben recht: http: // mongoosejs .com/docs/api.html # index_Mongose-Modell –

Verwandte Themen