在Mongoose模式上保存数组属性

Jam*_*mes 7 mongoose mongodb node.js

我有一个mongoose对象模式,看起来类似于以下内容:

var postSchema = new Schema({
   imagePost: {
     images: [{
        url: String,
        text: String
     }]
 });
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下内容创建新帖子:

var new_post = new Post();
new_post.images = [];
for (var i in req.body.post_content.images) {
  var image = req.body.post_content.images[i];
  var imageObj = { url: image['url'], text: image['text'] };
  new_post.images.push(imageObj);
}
new_post.save();
Run Code Online (Sandbox Code Playgroud)

但是,一旦我保存帖子,它就会为images属性创建一个空数组.我究竟做错了什么?

Joh*_*yHK 6

imagePost在新对象中缺少架构的对象.试试这个:

var new_post = new Post();
new_post.imagePost = { images: [] };
for (var i in req.body.post_content.images) {
  var image = req.body.post_content.images[i];
  var imageObj = { url: image['url'], text: image['text'] };
  new_post.imagePost.images.push(imageObj);
}
new_post.save();
Run Code Online (Sandbox Code Playgroud)