0

node.js/mongoose を使用していくつかのドキュメントを保存しようとしています。

csv ファイルからデータを取得し、csv モジュールを使用してデータをインポートします。

どういうわけか、すべてのレコードがDBに正しく保存されていると言われていますが、「mongo」コマンドで開いてDBを解析しても、情報はまったく保存されていません。

これは私が使用しているコードです:

//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 はデフォルトでモデル名を複数形にします。これが必要な場合は、3 番目の引数を db.model に渡すことでコレクション名を手動で設定できます。

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