使用mongodbembedded集合

我刚开始使用mongodb和nodejs。 我知道mongodb不支持连接。我只是在mongodb中插入数据,我的文档看起来像:

{ "_id": ObjectId("564dacf84d52785c1d8b4567"), "content": "This blog created by karanSofat", "html": "<p>This blog created by karanSofat</p>\n", } 

现在用户对这个post发表评论。 它应该是这样的:

 { "_id": ObjectId("564dacf84d52785c1d8b4567"), "comments": [ { "name": "sumit", "email": "sumit@ggi.net", "comment": "this is also well for me", "posted_at": ISODate("2015-11-19T11:06:27.172Z") } ], "content"▼: "This blog created by karanSofat", "html": "<p>This blog created by karanSofat</p>\n", } 

这是我的模特,

  //post model // grab the mongoose module var mongoose = require('mongoose'); // define our nerd model // module.exports allows us to pass this to other files when it is called module.exports = mongoose.model('post', { content : {type : String, default: ''}, html : {type : String, default: ''} }); //comment model var mongoose = require('mongoos module.exports = mongoose.model('comment', { name : {type : String, default: ''}, email : {type : String, default: ''}, comment : {type : String, default: ''}, posted_at : {type : date, default: ''} }); 

我的问题是,我不知道在哪个方式插入评论数据使用nodejs和我的文件将embedded。 这是我的代码:

 app.post('/comments/:id', function(req, res) { var Comment = require("../app/models/comments");//comment Model var blog = require("../app/models/blog");//blog model var id = req.params.id; //postId var comments = JSON.parse(JSON.stringify(req.body)); //commentdata //code Should be here res.json({data:id,data2:input}); }); 

请帮忙

卡兰,

假设您有以下模式:

 var Comments = new Schema({ name: String, email: String, comment: String, , posted_at: Date }); var BlogPost = new Schema({ content : String, html : String, comments : [Comments], }); mongoose.model('BlogPost', BlogPost); 

您可以将embedded文档添加到数组中,如下所示:

 // retrieve my model var BlogPost = mongoose.model('BlogPost'); // create a blog post var post = new BlogPost(); // create a comment post.comments.push({ "name": "sumit", "email": "sumit@ggi.net", "comment": "this is also well for me", "posted_at": ISODate("2015-11-19T11:06:27.172Z") }); post.save(function (err) { if (!err) console.log('Success!'); });