PRUDHVI RAJ
PRUDHVI RAJ

Reputation: 41

Can we Insert data in Object collection in Mongodb

Can anyone please help i tried to insert data in object, but not using array.

I need output like this

{"_id":{"$oid":"5bacbda18ffe1a2b4cb9b294"},
"type":{"name":"prudhvi",
"headings":["Abstract","Introduction","Models"]}}

but i am getting like this

{"_id":{"$oid":"5c52d7484c7644263cbc428a"},
"name":"prudhvi",
"headings":["Abstract","Introduction","Models"],
"__v":{"$numberInt":"0"}}

and I wrote my Collection like this

var articleTypeSchema = new mongoose.Schema({
   type: { type: mongoose.Schema.Types.Object, ref: 'typeSchema' }
});

var typeSchema = {
   name:String,
   headings:[String],
};

var Collections = {
    type: mongoose.model('article_types',typeSchema)
}

This is my backend what i wrote

userRouter.post('/addarticletype',(req,res)=>{
Collections.type.create({name:req.body.type,headings:req.body.head},function(err,result){
    if (err) return res.status(500).send("There was a problem adding the information to the database"); 
    else
res.status(200).send(result);
console.log(result);
})
})

Upvotes: 0

Views: 67

Answers (2)

Nikhil G
Nikhil G

Reputation: 2466

In your model, change the data type to JSON instead of String and then when you are trying to create a new collection

var typeSchema = {

          type:JSON,

};

Step 2: While creating collection, create a JSON object for that key.

userRouter.post('/addarticletype',(req,res)=>{

    Collections.type.create({type:{name:req.body.type,headings:req.body.head}},function(err,result){

        if (err) 
            return res.status(500).send("There was a problem adding the information to the database"); 
        else
            res.status(200).send(result);

        console.log(result);
    })
})

Step 3 : Done

Upvotes: 1

kRiZ
kRiZ

Reputation: 815

You need to rewrite the model as below:

var typeSchema = new mongoose.Schema ({
   name:String,
   headings:[String],
});

var articleTypeSchema = new mongoose.Schema({
   type: { type: mongoose.Schema.Types.Object, ref: 'typeSchema' }
});

Upvotes: 1

Related Questions