0

我正在尝试使用 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);
        }
    })
})
});`
4

1 回答 1

1

Mongoose 默认将模型名称复数。如果需要,您可以通过将第三个参数传递给 db.model 来手动设置集合名称:

var jugador = db.model('jugador',playerSchema, 'jugador');
于 2012-08-14T13:43:24.473 回答