Reactjs 如何以编程方式从前端添加到数据库中的数组
我基本上有这条路线Reactjs 如何以编程方式从前端添加到数据库中的数组,reactjs,Reactjs,我基本上有这条路线 app.post("/order/:orderId/:productId", async (req, res) => { const result = await Order.findByIdAndUpdate( req.params.orderId, { $push: { products: req.params.productId } }, { new: true } ); res.
app.post("/order/:orderId/:productId", async (req, res) => {
const result = await Order.findByIdAndUpdate(
req.params.orderId,
{
$push: {
products: req.params.productId
}
},
{ new: true }
);
res.send(result);
});
我有两个系列,即产品和订单。例如,目标是获取id为(5ddfc649e1e9e31220ce6a16)的特定订单,并在此订单集合内的数组字段中发布id为(5de02c4a0ed3160368b9a550)的产品。在Postman中,我可以通过在URL中添加ObjectID手动完成此操作,如下所示:
Http://localhost:3000/orders/5ddfc649e1e9e31220ce6a16/5de02c4a0ed3160368b9a550.
我得到的回答是:
{
"products": [
"5ddfb388b14c5b41e0607a5e",
"5de02c4a0ed3160368b9a550" // newly added Product
],
"_id": "5ddfc649e1e9e31220ce6a16",
"issuedBy": "issuedBy",
"collectedBy": "collectedBy",
"quantity": 123,
"createdAt": "2019-11-28T11:48:40.500Z",
"updatedAt": "2019-11-28T11:59:51.659Z",
"__v": 0
}
我的挑战是,如何从UI(Reactjs)端以编程方式实现这一点
如果您能提供任何建议或示例代码片段,我将不胜感激。我想您正在寻找的是,您需要从前端即React应用程序访问此API
http://localhost:3000/orders/<order-id-here>/<product-id-here>
但我认为关注的是GET和POST方法。现在你有
app.post
,但是参数在URL中,所以你应该选择GET方法,即app.GET
不明白,问题出在哪里?还有什么没有完成?@gprathour我希望用户能够从前端执行此任务。基本上,当两个objectid都插入到URL中时,我如何从前端实现这一路线?您的意思是前端应用程序可以直接更新数据库吗?若有,原因为何?如果否,那么从前端执行此任务是什么意思?在完成最终任务之前,需要提供两个参数:orderId“”和“productId”“。我的问题是,在执行将产品包括在订单集合中的最终任务之前,如何创建一个从前端获取ID的UI?@gprathour抱歉,如果我听起来不太清楚,相对较新的MERN stack@gprathour正是我的观点!但是我如何在react应用程序中创建一个UI,放置和并最终发送到后端apiThank@gprathour,我将利用您的建议并提供反馈
http://localhost:3000/orders/<order-id-here>/<product-id-here>
let orderId = someValue
let productId = someOtherValue
let url = "http://localhost:3000/orders/"+orderId+"/"+productId