首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sails.js / Waterline: findOne() vs find()

Sails.js / Waterline: findOne() vs find()
EN

Stack Overflow用户
提问于 2014-11-16 10:48:38
回答 1查看 3.6K关注 0票数 3

TestController.js:

代码语言:javascript
运行
复制
module.exports = {
    test: function(req, res) {
    User.findOne({}, function(err, found) {
      console.log(found);
      return res.send(found);
    })
  }
};

User模型包含一个条目。当此控制器运行时,正在发送的结果是nullundefined。但是,如果将User.findOne({})替换为User.find({}),则突然之间,found变量是一个数组,其中包含单个条目:

代码语言:javascript
运行
复制
[
  {
    "name": "Walter Jr",
    "createdAt": "2014-11-16T09:59:48.232Z",
    "updatedAt": "2014-11-16T09:59:48.232Z",
    "id": "5468759459f51a307b47bffd"
  }
]

为什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-16 10:51:48

我没有仔细考虑这个问题,但为了每个谷歌用户的利益,下面是这样的内容:

一旦您深入到err中,您会发现:

代码语言:javascript
运行
复制
{
  "error": "E_UNKNOWN",
  "status": 500,
  "summary": "Encountered an unexpected error",
  "raw": {}
}

换句话说,Waterline的findOne总是需要某种查询才能找到一项;它不会自动在任何列表中找到第一项并返回它,这对findOne来说不够具体。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26956120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档