Bonjour,

Je commence à apprendre NodeJS et MongoDB. Je rencontre actuellment une difficulté pour isérer ou recherché des données de la base. Je ne trouve rien sur notre ami Google :) qui puisse m'aider.
J'essai d'inséré un utilisateur dans ma collection "Users" avec l'ODM Mongoose sur une base de données MongoDB. Le problème c'est que rien n'est insérer dans la base.

Voici mon code actuel:

    //Connexion à base de données
    var uri = 'mongodb://localhost/dashboard';

    mongoose.connect(uri, options, function(err) {
      if (err) { console.log("Erreur", err);throw err; }
    });
    console.log("Connection", mongoose);

    var User = require("./models/user.js"); //Appel de ma classe
    var user = mongoose.model('Users');
    var monUser = new user({id: 2, name: 'Jean', age: 17 });   //Création de mon user

    //Insértion dans la base de données
    monUser.save(function (err) {
        if (err) { throw err; }
        console.log('User ajouté avec succès !');

        // On se déconnecte de MongoDB maintenant
        mongoose.connection.close();
    });

Ce que j'obtiens dans mon terminal:
Connection Mongoose {
connections:
[ NativeConnection {
base: [Circular],
collections: {},
models: {},
config: [Object],
replica: false,
hosts: null,
host: 'localhost',
port: 27017,
user: undefined,
pass: undefined,
name: 'dashboard',
options: [Object],
otherDbs: [],
_readyState: 2,
_closeCalled: false,
_hasOpened: false,
_listening: false,
db: [Object] } ],
plugins: [],
models: {},
modelSchemas: {},
options: { pluralization: true } }

User ajouté avec succès !

Déjà dans mon "console.log("Connection", mongoose);" la collection n'apparait pas. Est ce que cela vient de la connexion ou j'utilise mal la fonction "save" de mongoose ?
Pourriez-vous m'aider ;) ?

Merci d'avance

2 réponses


Thomas Berthemin
Auteur
Réponse acceptée

Bonjour,

Merci Syals de m'avoir répondu. Dans mon fichier user.js dont je fais appel, il y avait mon Schéma. En faîte mon script fonctionnait très bien c'est juste que mon interface graphique (robomongo) de ma base de données MongoDB ne se mettais pas à jour. Mon User était bien enregistré dans ma base x)

Encore merci à toi

Essaie ça, avec un shema :

var schema = new mongoose.Schema({ name: String, age: Number });
var User = mongoose.model('Users', schema, 'Users');

var user = new User({ name: 'Jean', age: 17 });
user.save(function (err) {
   if (err) { throw err; }
   else console.log('User ajouté avec succès !');
})