javascript-Sails.js / Waterline:findOne()与find()
作者:互联网
TestController.js:
module.exports = {
test: function(req, res) {
User.findOne({}, function(err, found) {
console.log(found);
return res.send(found);
})
}
};
用户模型包含一个条目.运行此控制器时,发送的结果为null或未定义.
但是,如果将User.findOne({})替换为User.find({}),则突然发现变量是一个包含单个条目的数组:
[
{
"name": "Walter Jr",
"createdAt": "2014-11-16T09:59:48.232Z",
"updatedAt": "2014-11-16T09:59:48.232Z",
"id": "5468759459f51a307b47bffd"
}
]
为什么?
解决方法:
我没有想到这一点,但是为了让所有使用Google搜寻的人受益,这是发生了什么:
深入研究错误后,您会发现:
{
"error": "E_UNKNOWN",
"status": 500,
"summary": "Encountered an unexpected error",
"raw": {}
}
换句话说,Waterline的findOne总是需要某种查询才能找到一个项目.它不会自动找到任何列表中的第一个并返回它,这对于findOne而言还不够具体.
标签:sails-js,javascript,waterline 来源: https://codeday.me/bug/20191029/1956299.html