简体   繁体   中英

how to save data to mongodb schema with object

I've been trying to save user data to a mongodb schema, sample schema below, the question is how can i insert data inside the object. Please help i've been doing this for hours

eg User.js

const mongoose = require('mongoose');

const UserSchema = new mongoose.Schema({
    data:{
        type: String,
        requred: true
    },
    data2:{
        type: String,
        requred: true
    },
    work: {
        industry: String,
        name: String,
        position: String,
    },
    status:{
        type: Boolean,
        default: true,
        requred: true
    },
    subscription:{
        product: String,
        license: String,
        price: String,
        status: Boolean,
        default: false,
        renew: Boolean,
        default : false
    },
    date:{
        type: Date,
        default: Date.now
    }
});

const User = mongoose.model('User', UserSchema);

module.exports = User;

sample registration handling

const newUser = new User({
    data1,
    data2,
    work,
    subscription
});

newUser.save()
.then(user => {
    req.flash('success_mg', 'Successfully Registered your can now Login.');
    res.redirect('/login');
})
.catch(err => console.log(err));

You want to use the _id field, and call your schema like this:

User.findByIdAndUpdate({_id: id}, {...updates}, {new: true})
 .then(updated_user=>{ DO SOMETHING...  })

the ...updates would be a JSON object containing the keys and values of the properties you're updating.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM