Arrays 将阵列与Mongodb&;EJS

Arrays 将阵列与Mongodb&;EJS,arrays,node.js,mongodb,express,ejs,Arrays,Node.js,Mongodb,Express,Ejs,我试图找到在MongoDB和EJS中使用数组的最简单方法 在前端的这个非常简单的示例中,用户可以单击按钮并向数组添加值 $("#buttonOne").click(function() { food.push("Kiwi"); $("#foodObject").val(food) }); $("#buttonTwo").click(function() { food.push("Taco"); $("#foodObject").val(food) }); 然后在前端,在输入中查看它: <

我试图找到在MongoDB和EJS中使用数组的最简单方法

在前端的这个非常简单的示例中,用户可以单击按钮并向数组添加值

$("#buttonOne").click(function() {
food.push("Kiwi");
$("#foodObject").val(food)
});

$("#buttonTwo").click(function() {
food.push("Taco");
$("#foodObject").val(food)
});
然后在前端,在输入中查看它:

<input id='foodObject' type="text" name="foodObject" placeholder="foodObject">
然后能够将阵列与EJS一起使用:

<h3 class='text-center'> <%= currentUser.foodObject[0] %>  </h3> 

因此,如果用户同时向数组中添加了Kiwi和Taco,我希望foodObject[0]只返回Kiwi

这可能吗


当前它返回完整的字符串。i、 e“Kiwi,Taco”

您的问题是将
foodObject
作为字符串而不是数组发送到服务器。因此,使用ejs返回的数组只有一个元素。在服务器中,您必须将字符串拆分为数组,然后像这样保存它。
服务器端代码:

String formValue = req.body.foodObject;
var foodObjects = formValue.split(',');

然后将
foodObjects
数组保存到mongoose模式。

当您说它返回完整字符串时,您的意思是什么?
是否返回所有数组元素?对。当前,它看起来像是将数组保存为字符串。所以它为foodObject[0]打印“奇异果,塔可”不仅仅是奇异果太棒了!这工作做得很好!谢谢你的帮助!我使用了foodObject:req.body.foodObject.split(“,”),很高兴能帮助您!;)
String formValue = req.body.foodObject;
var foodObjects = formValue.split(',');