在mongoose中发布嵌套模型

时间:2013-07-22 16:54:29

标签: node.js mongodb express mongoose

我在Express / Mongoose / Mongo应用程序中发布嵌套模型时遇到问题。当我尝试同时拥有单个容器模型和多个内部模型时,只有外部模型(Orders)显示在数据库中。

架构:

var itemSchema = new Schema({
    order: ObjectId,
    type: String // ex: Sandwich
});
var orderSchema = new Schema({
    name:  String,
    items: [Item.itemSchema]
});

API:

var Order = require('../models/order.js');
var Item = require('../models/item.js');

exports.createOrder = function(req, res) {
  new Order({name: req.body.name}, function(err, order){
    order.items.forEach(function (err, item){
      new Item({order: order._id, type: item.type}).save;
    });
  }).save();
};

Curl Post:

curl -i -X POST -H 'Content-Type: application/json' -d '{"name": "John Smith","items": [{"type": "sandwich"},{"type": "sub"}]}' http://localhost:3000/order

1 个答案:

答案 0 :(得分:0)

new Order()不接受回电。

a)您是否打算保存嵌入订单或

的“商品”

b)您打算将这些项目保存在单独的集合中吗?

c)两个?