2012-08-14 442 views
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); 
     } 
    }) 
}) 
});` 
+0

調查後,相當多的,我可以看到一個集合「jugadors」已在數據庫中創建的所有導入的數據。我將連接設置爲localhost/camelot。不應該使用這些數據創建'Camelot'集合嗎? – Perseoh 2012-08-14 12:15:11

+0

正如你的代碼中使用的那樣,'Camelot'是數據庫的名字,'jugadors'是該數據庫中集合的名字。 – JohnnyHK 2012-08-14 13:37:56

回答

1

貓鼬默認複數化型號名稱。你可以通過第三個參數手動設置集合名稱db.model如果你需要這樣的:

var jugador = db.model('jugador',playerSchema, 'jugador'); 
+0

謝謝,可以找到這個集合,但那第三個參數非常有用:) – Perseoh 2012-08-15 14:11:14