-1
votes

Comment enregistrer des données dans MongoDB et Schema est comme ci-dessous

Voici mon schéma en utilisant un package MONGOose NPM.

 router.post ('/update', (req,res,next)=>{

        userStatus = new wkStatus(req.body)
         userStatus.save()
        .then(status => {
          res.redirect('/success');
          console.log ("Status saved in DB")
        })
       .catch(err => console.log(err))

      // return next;
  });


3 commentaires

Quelle est l'erreur?


Aucune erreur de ce type n'est là, les données épargnent au format ci-dessous {"_ID": ObjecteID ("5D92F4ABA4695E2DD90AB438"), "__v": 0} {"_ID": ObjecteID ("5D92F4B4A4695E2DD90AB439"), "__v": 0}


Que quel est le problème si c'est sauve correctement?


3 Réponses :


0
votes
const wkStatus = new wkStatus({
      _id: new mongoose.Types.ObjectId(),
      projectName: req.body.projectName,
      clientName: req.body.clientName,
      statusThisweek: req.statusThisweek,
      statusLastWeek: req.statusLastWeek,
      planNextWeek: req.planNextWeek
})
Status
   .save()
   .then(result => {
        res.status(201).json({
            message: "Data Created Successfully",
        })
       console.log(result) // show the response
   })
  .catch(err => {
       res.status(500).json({error:err})
  })
Try this way hope it will work. If need more you can message me 

5 commentaires

Pas de même problème SayLok, les données sauvegardent comme étant identiques telles que précédemment {"_ID": objecid ("5d9304bd632777375de2bdec"), "__v": 0} >>


Mon front de fin: Nom du projet Nom du projet Nom du client État de la semaine dernière Statut de cette semaine Plan pour la semaine prochaine


Fonctionnalité Pour enregistrer n Nombre d'emplacements hebdomadaires de l'employé, Nom de l'employé / ID EMP sera unique, mais le nom du projet et le nom du client peuvent être courants.


Auparavant, MongoDb Schema était comme Empname: {Type: String, unique: true, requis: true,}, projetName: {Type: String, unique: true, requis: true,}, nom de client: {type: chaîne,}, StatusLastWeek: {Type: String,}, StatutChisweek: {Type: String,}, PlannextWeek: {Type: String}, cette fois-ci, je faisais face à une erreur @ {"Erreur": {"Driver": vrai, "Nom": "MONGOERROR" "Index": 0, "Code": 11000, "Errmsg": "E11 000 CLOUCHE DE TOUCHE DEPLICKE: WP.Status Index: ProjectName_1 Touche DUP: {: \" BLE MESH \ "}"}}


Veuillez supprimer vos toutes les données de Store et réessayer. J'espère que cela fonctionnera



0
votes

Le schéma ce que vous essayez de créer elle-même est faux. xxx

Le schéma ci-dessus peut créer des objets comme ci-dessous: "Empname" ne peut pas être dynamique. xxx

si vous voulez stocker comme ce que vous voulez ont montré, où empname dynamiquement, vous devez créer empname comme mappe Voir https://mongoosejs.com/docs/schematypes.html#maps


0 commentaires

1
votes
//You can use ODM like mongoose and define a schema with mongoose.Schema. You can just 
// see mongoose module document from npm. Use .save() for save an object in DB.

// Example : 

// schema as admin

const mongoose = require('mongoose');
mongoose.Promise = global.Promise;
const Schema = mongoose.Schema;
const bcrypt = require('bcrypt-nodejs');
const sha256 = require('sha256')

const adminSchema = new Schema({
    fullName: { type: String, required: true },
    userName: { type: String },
    noc: { type: String, required: true },
    mobileNumber: { type: String, required: true },
    email: { type: String },
    chacommAddress: {
        contactPerson: { type: String },
        country:  { type: String },
        address:  { type: String },
        city:  { type: String },
        pinCode:  { type: String },
        state:  { type: String },
        stateCode:  { type: String },
    },
    address: {
        country: { type: String },
        city: { type: String },
        pinCode: { type: String },
        state: { type: String },
        stateCode: { type: String },
        address: { type: String },
        CIN: { type: String },
        GSTIN: { type: String }
    },
    password: { type: String, required: true },
    userType: { type: Number, required: true },
    createdAt: { type: Date, required: true },
    uploadFile: { type: String, required: true },
    bankdetails: {
        bankName: { type: String },
        accountNo: { type: String },
        ifscCode: { type: String },
        accountType: { type: String },
        accountName: { type: String },
        cancelledChequeCopy: { type: String }
    },
    isActive: { type: Boolean },
    invoiceString:{type:String},
    invoiceValue:{type:Number},
    accountantName :{type:String} ,
    accountantDesignation : {type:String},
    referredBy:{type:String}
});

adminSchema.methods.comparePassword = function (password) {
    let password_hash = sha256(password);
    return bcrypt.compareSync(password_hash, this.password);
}

adminSchema.pre('save', function (next) {
    if (!this.isModified('password'))
        return next();
    let password_hash = sha256(this.password);
    bcrypt.hash(password_hash, null, null, (err, hash) => {
        if (err)
            return next(err);
        this.password = hash;
        next();
    });
});

//export schema
// module.exports = mongoose.model('Admin', adminSchema)


// for save:

const admin = require('admin')

var obj= new admin({
// values as per model defined
})

obj.save()

1 commentaires

var epschema = nouveau mongoose.schema ({Empname: {Type: String, Obligatoire: "Ce champ est requis!"}, projetName: {Type: String}, Nom d'utilisateur: {Type: String}, Slatweek: {Type: String} , STHISWEEK: {Type: String}, Pnextweek: {Type: String},}); mangoose.model ("parcours", courseschema); Ceci est mon schéma Mongo, je souhaite insérer n nombre d'enregistrements d'employés.