Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在mongoose中找不到引用模型属性_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Node.js 在mongoose中找不到引用模型属性

Node.js 在mongoose中找不到引用模型属性,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我有两个模型和两个路由文件。但是对象中的一个属性没有返回任何内容 //orders.js路由 const mongoose=require('mongoose'); const Order=require('../models/Order'); orderRouter.route(“/”) .post((请求、恢复、下一步)=>{ 常量顺序=新顺序({ _id:mongoose.Types.ObjectId(), 数量:请求主体数量, 产品:req.body.productId }); 秩序

我有两个模型和两个路由文件。但是对象中的一个属性没有返回任何内容

//orders.js路由
const mongoose=require('mongoose');
const Order=require('../models/Order');
orderRouter.route(“/”)
.post((请求、恢复、下一步)=>{
常量顺序=新顺序({
_id:mongoose.Types.ObjectId(),
数量:请求主体数量,
产品:req.body.productId
});
秩序
.save()
。然后(结果=>{
res.status(201).json(结果);
})
.catch(错误=>{
res.status(500).json({
错误:错误
});
});
});
//order.js模型
const mongoose=require('mongoose');
const orderSchema=mongoose.Schema({
_id:mongoose.Schema.Types.ObjectId,
//无需:真实工作但不返回任何内容
产品:{type:mongoose.Schema.Types.ObjectId,ref:'product',required:true},
数量:{type:Number,默认值:1}
});

module.exports=mongoose.model('Order',orderSchema)你的帖子是什么样子的

` 邮递 内容类型:application/json

{ “产品ID”:“5e8b7ab88466300b9c720e68”, “数量”:“10” } `


您的POST请求中应该有“productId”和“quantity”。

您需要添加产品架构代码和查询代码。我猜订单可能有一个产品数组,但在订单架构中您没有将产品字段指定为数组。您希望每个订单只有一个产品吗?在发布新产品时,我使用了数组。我正在做的是获取所有产品并在订单中使用单个产品id。我将提供一个替代方案和解决方案。我指的是这个视频