2017-05-08 18 views
0

Also versuche ich derzeit eine mmorpg von Grund auf neu zu entwickeln und habe versucht, Benutzer von meinem Client-Seite zu speichern (ich benutze Game Maker Studio). Ich benutze Robomongo als mein Mongodb Management Tool. Mein Client verbindet sich gut mit meinem Server und kann einen Benutzernamen und ein Passwort aufnehmen, aber nichts wird in der Datenbank gespeichert, die ich erstellt habe. Hier ist meine user.js Datei:Mongoose speichert keine Daten in lokalen mongodb

var mongoose=require('mongoose'); 


var userSchema=new mongoose.Schema({ 
    username: {type: String, unique:true}, 
    password: String, 

    sprite:String, 

    current_room: String, 
    pos_x:Number, 
    pos_y:Number 
}); 

userSchema.statics.register=function(username,password,cb){ 

    var new_user=new User({ 
     username: username, 
     password: password, 

     sprite: "spr_Hero", 

     current_room:maps[config.starting_zone].room, 
     pos_x:maps[config.starting_zone].start_x, 
     pos_y:maps[config.starting_zone].start_y, 
    }); 
    //save user to database 
    new_user.save(function(err){ 
     if(!err){ 
      cb(true) 
     }else{ 
      cb(false); 
     } 

    }); 

}; 
userSchema.statics.login=function(username,password,cb){ 

    //findOne searched db - mongodb specific method 
    //searches db using json objects (cant do that in other sql/mysql) 

    User.findOne({username:username},function(err,user){ 
     if(!err && user){ 
      if(user.password==password){ 
       cb(true,user); 
      }else{ 
       cb(false,null); 
      } 

     }else{ 
      //error||user doesnt exist 
      cb(false,null); 
     } 

    }) 
}; 


//export into gloabl space of our application 
module.exports=User=gamedb.model('User',userSchema); 

und hier ist meine mongodb.js Datei. Ich habe den Speicherort der Datenbank in meiner config.js konfiguriert. Ich benutze nur meine lokale IP. Jede Hilfe bei der Reparatur wäre super, danke!

var mongoose=require('mongoose'); 
mongoose.Promise=global.Promise; 


module.exports=gamedb=mongoose.createConnection(config.database); 
+0

Nur in dem Fall könnte es von Nutzen sein, im v 3.4.0 von Mongodb und v1.0 robomongo – Kimeru

+0

gerade zu stoßen, damit die Frage nicht verloren geht. – Kimeru

Antwort

1

Scheint, wie Sie verwenden MongoDB 3.4, die nicht von Robomongo derzeit unterstützt wird, aber es wird bald sein. Sie können dieses Ticket für Updates verfolgen: https://github.com/Studio3T/robomongo/issues/1250 Hinweis: Ich bin einer der Mitwirkenden von Robomongo.

+0

Woah, das ist so eine große Hilfe. Wir dachten, das könnte ein Problem sein, aber wir dachten, dass das Update bereits veröffentlicht wurde. Kennen Sie einen Ort, um ältere Versionen herunterzuladen? Wir hatten vorher danach gesucht und konnten keinen finden. Und was ist mit dem Ersetzen von RoboMongo durch etwas wie MongoChef? – Kimeru

+0

Ältere Versionen von Robomongo sind hier: https://robomongo.org/download. Wir planen, morgen auf diesem Ticket eine Beta zu veröffentlichen: https://github.com/Studio3T/robomongo/issues/1250, die sofort den MongoDB 3.4-Support aktivieren wird. –

Verwandte Themen