Node.js 从mongodb express存储和访问阵列

Node.js 从mongodb express存储和访问阵列,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我正在将jade中的一个数组存储到mongodb中 例如,input(name='name[]',type='text')->Firstname,input(name='name[]',type='text')->lastname(仅为Eg)。 所以我有一个名称数组。我已使用该模式将数据存储到mongodb中 ('name':数组)并将值存储为'name':[['firsname','lastname']] 但当在jade中访问时,name[0]以单个字符串的形式同时包含firstname和la

我正在将jade中的一个数组存储到mongodb中

例如,input(name='name[]',type='text')->Firstname,input(name='name[]',type='text')->lastname(仅为Eg)。 所以我有一个名称数组。我已使用该模式将数据存储到mongodb中 ('name':数组)并将值存储为'name':[['firsname','lastname']]

但当在jade中访问时,name[0]以单个字符串的形式同时包含firstname和last name值


name[0]输出“firstname,lastname”。我希望它作为原始数组,如名称[0]=“firstname”和名称[1]=“lastname”。请帮助我。试了一个多星期

您有一个
数组的
数组

'name':[['firsname','lastname']]
因此,
name[0]
不是
name
name[0]
是“原始
Array
”,要从中访问每个值,您需要使用:

name[0][0] // first name
name[0][1] // last name

否则,将
名称
设置为单个
数组
,这取决于当前修改模型的方式。但是,仅将其设置为表单数据就足够了:

yourModel.name = req.body.name;
那么您应该能够使用:

name[0] // first name
name[1] // last name

找到了。。我没有在html表单中使用name[],而是尝试对这两种输入类型使用name='name'。成功了!