I am making JSON objects that look like
var newSong = {
'name': 'Song',
'genre': 'Genre',
'percent': '100',
'lyrics': [
{"line": "1", "lyric": "first lyric"}
]
}
and then using Express and Node.js to update my MongoDB like this
//in global.js file
$.ajax({
type: 'POST',
data: newSong,
url: '/songs/addsong',
dataType: 'JSON'
}).done(function( response ) {
...checking for errors...
}
});
//in songs.js (routes file)
router.post('/addsong', function(req, res) {
var db = req.db;
db.collection('daisy').insert(req.body, function(err, result){
res.send(
(err === null) ? { msg: '' } : { msg: err }
);
});
and this works in posting something to my MongoDB.
However, what is posted looks like this:
{
"_id" : ObjectId("54d6d8d12a5bed45055e6e1b"),
"name" : "Song",
"genre" : "Genre",
"percent" : "100",
"lyrics[0][line]" : "1",
"lyrics[0][lyric]" : "first lyric"
}
Instead of how I need it to look:
{
"_id" : ObjectId("54d6d8d12a5bed45055e6e1b"),
"name" : "Song",
"genre" : "Genre",
"percent" : "100",
"lyrics" : [
{"line":1", "lyric": "first lyric"}
]
}
Let me know what on earth I am doing wrong!