CNode

nodejs读取mongodb数据问题

问答
Zzhangjh发布于11 年前最后回复11 年前6 回复6940 浏览0 收藏

直接上代码描述问题, untitled1.png 上图中find是我封装的mongoose的查询接口,查询的结果打印出来如图 untitled2.png 问题在于,我想获取查询结果中的params字段,为何获取不到,返回的是undefined?

补充一下,js文件使用res.send的结果调用data.params又可以正常获取,这是怎么回事?

查看回复

回复 (6)

H
haozxuan#1·11 年前

typeof results看下

J
jiangli373#2·11 年前

试下results.get('params')

W
wangyangkobe#3·11 年前

results 应该是个数组把,typeof results看下

Z
zhangjh#4·11 年前
引用 haozxuantypeof results看下

@haozxuan @jiangli373 @wangyangkobe results毫无疑问是object的,问题已经解决,虽然我并不是非常明白,我觉得mongodb的“id”属性引起的问题。(终端报错的信息不太记得了,貌似是"下划线"解析不了) 因为我通过results直接访问别的属性,比如results.name之类是可以的。

所以我“曲线救国”,先stringify了一下再JSON.parse了下

untitled1.png

S
SoftwareDreamer#5·11 年前

何必多此一举.直接用 res.json(results[0])

N
njaulj#6·11 年前

毫无疑问 返回的是 数组类型,楼主应该用 results[0].params 来获取 或者

results.forEach(function(result){
console.log(result.params);
});

参与回复
登录后即可参与回复。登录