【问题标题】:Retrieving an array of subdcuments (MEAN stack)检索子文档数组(MEAN 堆栈)
【发布时间】:2015-09-03 07:19:26
【问题描述】:

我有一个非常具体的问题。

所以我正在使用以下命令查询我的数据库(在 NodeJS 中使用 Express 进行 Mongoose 调用):

    UserProfileModel.find({'username': req.query.username},'progressmanual' ,function (err, entries) {
            console.log("entries from the server:"+entries);
            res.json(entries);

        });

这个查询产生以下结果:

    { _id: 5580edc16f5d5c3411f703c8,
progressmanual:[ { Date: Tue Jun 16 2015 23:47:36 GMT-0400 (Eastern Daylight Time), cups: 5, miles: 5, steps: 6, duration: 6, _id: 5580edd86f5d5c3411f703c9 },
{ Date: Tue Jun 16 2015 23:47:41 GMT-0400 (Eastern Daylight Time), cups: 754, miles: 57457, steps: 457547, duration: 54745745, _id: 5580eddd6f5d5c3411f703ca },
{ Date: Tue Jun 16 2015 23:47:45 GMT-0400 (Eastern Daylight Time), cups: 547457, miles: 536346, steps: 4436346, duration: 466, _id: 5580ede16f5d5c3411f703cb },
{ Date: Tue Jun 16 2015 23:47:50 GMT-0400 (Eastern Daylight Time), cups: 436, miles: 6436, steps: 4464346, duration: 446, _id: 5580ede66f5d5c3411f703cc },
{ Date: Tue Jun 16 2015 23:49:36 GMT-0400 (Eastern Daylight Time), cups: 5, miles: 5, steps: 6, duration: 6, _id: 5580ee506f5d5c3411f703cd } ], personalgoals: {} }

在我的前端,我试图显示来自progressmanual 的条目 所以当我尝试做res.json(entries.progressmanual) 时,它会导致null。你知道如何提取progressmanual 对象的数组吗?

另外,你知道为什么查询结果包含我没有请求的额外“列”(除了progressmanual之外的东西)?

【问题讨论】:

  • 另外,你知道为什么查询结果包含额外的“列”你没有告诉它返回这些列。跨度>
  • 在回调之前我指定了'progressmanual',它应该给我这个。 (至少我是这么认为的)
  • -_id 会隐藏 id,-personalgoals 会隐藏个人目标。至于你的主要问题,它看起来对我有用,不过,我认为你错过了 entries 是一个条目数组,而不仅仅是一个条目的事实。您复制到问题中的控制台输出似乎只显示一个条目,但我敢打赌它实际上包含在[] 中。你不应该使用 findOne 吗?
  • 凯文 B,你是对的。 findOne() 是罪魁祸首。谢谢先生。

标签: angularjs node.js mongodb mongoose mean-stack


【解决方案1】:

感谢来自 cmets 的 Kevin B,我发现了问题:将 find() 更改为 findOne 让我获得了 entries.progressmanual。所以看起来find() 总是返回数组,所以find() 我应该使用entries[0].progressmanual

【讨论】:

    猜你喜欢
    • 2018-03-20
    • 2017-09-20
    • 2015-08-16
    • 2018-11-29
    • 2019-07-28
    • 2018-06-04
    • 2014-03-06
    • 1970-01-01
    • 2015-11-16
    相关资源
    最近更新 更多