在猫鼬中发布嵌套模型

Posted

技术标签:

【中文标题】在猫鼬中发布嵌套模型【英文标题】:Posting nested models in mongoose 【发布时间】:2013-07-21 12:26:10 【问题描述】:

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

架构:

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 -i -X POST -H 'Content-Type: application/json' -d '"name": "John Smith","items": ["type": "sandwich","type": "sub"]' http://localhost:3000/order

【问题讨论】:

【参考方案1】:

new Order() 不接受回调。

a) 您打算保存订单中嵌入的“项目”还是

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

c) 两者都有?

【讨论】:

以上是关于在猫鼬中发布嵌套模型的主要内容,如果未能解决你的问题,请参考以下文章

在猫鼬中填充嵌套模型

如何在猫鼬中填充嵌套实体?

如何在猫鼬中更新嵌套数组值

您可以在猫鼬中执行多个嵌套填充吗?

如何在猫鼬中异步填充嵌套对象?

在猫鼬中对嵌套数组进行排序