2017-05-24 32 views
0

我已通过mongoimport将一些CSV数据导入到我的数据库,该数据在导入过程中创建了我的集合。猫鼬 - 为先前存在的集合定义模型

在Node中定义我的模型时,我为模式参数传递了什么?在罗盘中查看我的数据库显示已根据导入的数据创建的模式。

我目前正在传递一个空的模式,这似乎是完全错误的。

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

var Units = new Schema({ 
}); 

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

这应该工作,你有什么错误? – luisenrike

+0

没有错误,询问在我的数据库中使用预先存在的数据时这是否正确。似乎毫无意义地传递一个空的模式 –

+0

您可以将文档的字段添加到您的模式,例如,如果您的文档包含:_id,用户名和电子邮件,您可以这样做:var Units = new Schema({_id:Schema.Types。 ObjectId,username:String,email:String}); – luisenrike

回答

2

该模式应该包含这样的东西,它定义了您正在使用的数据类型。

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

请参阅'Defining your schema'

此外,我不相信mongoose.model需要第三个参数。

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

编辑:yes it does.

+1

第三个参数表示用于该模型的MongoDB集合([doc](http://mongoosejs.com/docs/api.html#index_Mongoose-model)) – robertklep

+0

啊,你是对的:http:// mongoosejs .COM /文档/ api.html#index_Mongoose模型 –