我正在尝试使用node.js / mongoose保存一些文档。
我从csv文件中检索数据并使用csv模块导入数据。
不知何故,它说所有记录都正确保存到数据库,但是当我通过'mongo'命令打开它并解析数据库时,根本没有保存任何信息。
这是我正在使用的代码:
//import.js
var csv = require('csv');
var mongoose=require("mongoose"),
db = mongoose.createConnection('127.0.0.1','camelot');
db.on('error',function(){
console.error.bind(console,'conection error');
console.log("Error al crear conexion");
});
db.once('open',function(){
console.log("DB open")
// Definicion de jugador
var playerSchema = new mongoose.Schema({
nombre: String,
alianza: String,
correo: String,
poder: Number,
nivel: Number,
villa1: {
nombre: String,
x: Number,
y: Number
},
villa2: {
nombre: String,
x: Number,
y: Number
}
});
var jugador = db.model('jugador',playerSchema);
csv().fromPath('datos.csv',{columns: ['timestamp', 'nombre','alianza','x','y','nivel','poder','notas']})
.on('end',function(count){
console.log('Lineas:'+count)
})
// --> PARSEO DE CADA LINEA DEL CSV <--//
.on('data',function(data,index){
var j = new jugador({ nombre: data.nombre });
j.save(function (err){
if(err){
console.log('Error al escribir en la DB');
}else
{
//console.log("Guardado: "+data.nombre);
}
})
})
});`
答案 0 :(得分:1)
Mongoose默认复数模型名称。如果需要,可以通过将第三个参数传递给db.model来手动设置集合名称:
var jugador = db.model('jugador',playerSchema, 'jugador');